行のエンコードとデコード

このページでは、Cloud Data Fusion Studio の Wrangler ワークスペースでデータを準備するときに行をエンコードおよびデコードする方法について説明します。

行をエンコードする

データのベース エンコードを使用すると、以前の理由により US-ASCII データに制限されている環境でデータを保存または転送できます。テキスト エディタでオブジェクトを操作できるため、以前の制限のない新しいアプリケーションで使用できます。

RFC-4648 に基づく次のエンコード スキームを、列内のすべての値に適用できます。

  • Base32
  • Base64
  • 16 進数
  • URL

エンコードすると、Wrangler は <column>_encode_<type> except for url-encode という形式の名前の新しい列を生成します。

Cloud Data Fusion は、列値に次のルールを使用します。

  • 列が null の場合は、生成される列も null になります。
  • 選択した列が行にない場合、対象の行はスキップされます。
  • 列の値に文字列またはバイトのデータ型がない場合、変換は失敗し、エラーが表示されます。

サポートされているエンコード オプション

Wrangler は、次のエンコード オプションをサポートしています。

base64 でエンコードする
[Base64] オプションを使用すると、encode64 ディレクティブが変換ステップとしてレシピに追加され、エンコードされた値を含む新しい列が作成されます。
base32 でエンコードする
[Base32] オプションを使用すると、encode32 ディレクティブが変換ステップとしてレシピに追加され、エンコードされた値を含む新しい列が作成されます。
16 進数をエンコードする
[16 進数] オプションを使用すると、encode_hex ディレクティブが変換ステップとしてレシピに追加され、エンコードされた値を含む新しい列が作成されます。
URL をエンコードする
[URL] オプションを使用すると、url-encode ディレクティブが変換ステップとしてレシピに追加され、現在の列がエンコードされます。

行をデコードする

データのベースデコードを使用すると、以前の理由で US-ASCII データに制限されている環境でデータを保存または転送できます。テキスト エディタでオブジェクトを操作できるため、以前の制限のない新しいアプリケーションで使用できます。

列内の各値には、RFC-4648 に基づく次のデコード スキームを適用できます。

  • Base32
  • Base64
  • 16 進数
  • URL

デコードすると、Wrangler は url-decode を除き、<column>_encode_<type> という形式の名前の新しい列を生成します。

Cloud Data Fusion は、列値に次のルールを使用します。

  • 列が null の場合は、生成される列も null になります。
  • 選択した列が行にない場合、対象の行はスキップされます。
  • 列の値に文字列またはバイト配列のデータ型が含まれていない場合、オペレーションは失敗します。

サポートされているデコード オプション

Wrangler は、次のエンコード オプションをサポートしています。

base64 でデコードする
base64 オプションを使用すると、decode64 ディレクティブが変換ステップとしてレシピに追加され、デコードされた値を含む新しい列が作成されます。
base32 でデコードする
base32 オプションを使用すると、decode32 ディレクティブが変換ステップとしてレシピに追加され、デコードされた値を含む新しい列が作成されます。
16 進数をデコードする
[16 進数] オプションを使用すると、decode hex ディレクティブが変換ステップとしてレシピに追加され、デコードされた値を含む新しい列が作成されます。
URL をデコードする
[URL] オプションを使用すると、url-decode ディレクティブが変換ステップとしてレシピに追加され、現在の列がデコードされます。

次のステップ