从字段中提取数据

本页介绍了在 Cloud Data Fusion Studio 的 Wrangler 工作区中准备数据时,如何从字段(单元格)中提取和转换数据。

如需对此类数据执行转换,您需要将其拆分为单独的列。在 Wrangler 中,您可以从列中提取数据,并为提取的数据创建新列。您可以根据模式、分隔符或位置提取值。

使用模式提取数据

您可以使用以下模式从字符串数据类型的列中的字段中提取数据:

  • 信用卡
  • 日期
  • 日期时间
  • 电子邮件
  • HTML 锚点中的网址
  • IPv4 地址
  • ISBN 代码
  • MAC 地址
  • 包含 N 位数字的号码
  • SSN
  • 开始和结束模式
  • 时间

如需根据模式提取数据,请按以下步骤操作:

  1. 前往 Cloud Data Fusion 中的 Wrangler 工作区
  2. 数据标签页中,找到列名称,然后点击 arrow_drop_down 展开箭头。
  3. 依次选择提取字段 > 使用模式,然后选择一个选项,例如网址
  4. 可选:点击显示模式可查看模式的正则表达式。
  5. 点击提取

Wrangler 会根据所选模式提取字段,并将 extract-regex-groups 指令添加到食谱中。当您运行数据流水线时,Cloud Data Fusion 会将转换应用于该列中的所有行。

在以下示例中,某个列包含一个数字,后跟一个电子邮件地址:

电子邮件
1 222larabrown@gmail.com
2 cloudysanfrancisco@gmail.com

如需提取电子邮件地址,请选择 Email 模式。点击提取后,Wrangler 会保留原始列,并创建一个仅包含电子邮件地址的新列:

电子邮件 Emails_1
1 222larabrown@gmail.com 222larabrown@gmail.com
2 cloudysanfrancisco@gmail.com cloudysanfrancisco@gmail.com

提取带分隔符的数据

您可以根据以下分隔符将数据提取到两列或更多列中:

  • 英文逗号
  • Tab
  • 竖线符
  • 空格符
  • 自定义分隔符

如果值不含分隔符,则系统不会向新列中的相应字段添加任何值。

如需根据分隔符提取值,请执行以下操作:

  1. 前往 Cloud Data Fusion 中的 Wrangler 工作区
  2. 数据标签页中,找到列名称,然后点击 arrow_drop_down 展开箭头。
  3. 依次选择提取字段 > 使用分隔符,然后选择一个选项,例如英文逗号
  4. 点击提取

Wrangler 会根据所选的分隔符提取字段,并将 split-to-columns 指令添加到食谱中。运行数据流水线时,Cloud Data Fusion 会转换该列中的所有值。

在以下示例中,某个列包含多个以英文逗号分隔的名称:

ID 名称
1 Lee,Lucian,Luka
2 Mahan、Noam、Nur

在此示例中,使用英文逗号分隔符模式会将原始 Name 列中的值提取到三个新列中:

ID 名称 Name_1 Name_2 Name_3
1 Lee,Lucian,Luka Lee Lucian Luka
2 Mahan、Noam、Nur Mahan Noam Nur

按位置提取数据

您可以根据字符串中的位置提取字符串的一部分。

如需根据数据的位置提取数据,请执行以下操作:

  1. 前往 Cloud Data Fusion 中的 Wrangler 工作区
  2. 数据标签页中,找到列名称,然后点击 arrow_drop_down 展开箭头。
  3. 依次选择提取字段 > 使用位置。您可以提取的列值的背景为蓝色。
  4. 在该列的任意单元格中,选择要提取的字符。
  5. 目标列的名称字段中,输入名称。
  6. 点击应用

系统会从该列中的每一行中提取所选部分的值。

Wrangler 会根据所选模式提取字段,并将 cut-character 指令添加到食谱中。当您运行数据流水线时,Cloud Data Fusion 会将转换应用于该列中的所有值。

后续步骤