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

このページでは、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 進数をエンコードする
[Hex] オプションを選択すると、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 進数をデコードする
[Hex] オプションを選択すると、decode hex ディレクティブが変換ステップとしてレシピに追加され、デコードされた値を含む新しい列が作成されます。
URL のデコード
[URL] オプションを選択すると、url-decode ディレクティブが変換ステップとしてレシピに追加され、現在の列がデコードされます。

次のステップ