本页面介绍了如何在执行下列操作时对行进行编码和解码 在 Cloud Data Fusion Studio 的 Wrangler 工作区中准备数据。
编码行
您可以使用数据的基于字符的编码,在出于旧版原因而仅限于 US-ASCII 数据的环境中存储或传输数据。您可以在不受这些旧版限制的新应用中使用它,因为它允许使用文本编辑器操控对象。
您可以将以下基于 RFC-4648 的编码方案应用于列中的所有值:
- Base32
- Base64
- 十六进制颜色值
- 网址
编码时,Wrangler 会生成一个名称采用以下格式的新列:<column>_encode_<type> except for url-encode
。
Cloud Data Fusion 对列值使用以下规则:
- 如果该列为
null
,则生成的列也是null
。 - 如果行中未找到所选列,系统会跳过该行。
- 如果列值没有字符串或字节数据类型,则 转换失败,并显示错误。
支持的编码选项
Wrangler 支持以下编码选项:
- 编码 base64
- Base64 选项将
encode64
指令添加为转换步骤 并创建一个包含编码值的新列。 - 编码 base32
- Base32 选项会将
encode32
指令作为转换步骤添加到食谱中,并创建一个包含编码值的新列。 - 对十六进制编码
- Hex 选项添加
encode_hex
指令作为转换步骤 并创建一个包含编码值的新列。 - 对网址进行编码
- 网址选项会将
url-encode
指令作为转换步骤添加到配方中,并对当前列进行编码。
解码行
您可以使用数据的底层解码功能,在出于旧版原因而仅限于 US-ASCII 数据的环境中存储或传输数据。您可以在不受这些旧版限制的新应用中使用它,因为它允许使用文本编辑器操控对象。
您可以将以下基于 RFC-4648 的解码方案应用于列中的每个值:
- Base32
- Base64
- 十六进制颜色值
- 网址
解码时,Wrangler 会生成一个名称采用以下格式(url-decode
除外)的新列:<column>_encode_<type>
。
Cloud Data Fusion 对列值使用以下规则:
- 如果该列为
null
,则生成的列也是null
。 - 如果在行中找不到所选列,则会跳过该行。
- 如果列值不包含字符串或字节数组数据类型,则操作会失败。
支持的解码选项
Wrangler 支持以下编码选项:
- 解码 base64
- base64 选项会将
decode64
指令作为转换步骤添加到食谱中,并创建一个包含解码值的新列。 - 解码 base32
- base32 选项添加
decode32
指令作为转换步骤 然后创建一个新列,其中包含解码后的值。 - 解码十六进制
- Hex 选项添加
decode hex
指令作为转换步骤 然后创建一个新列,其中包含解码后的值。 - 解码网址
- 网址 选项添加
url-decode
指令作为转换步骤 并解码当前列。
后续步骤
- 详细了解 Wrangler 指令。