使用 AWS Glue 托管转换转换数据
AWS Glue Studio 提供了两种类型的转换:
-
AWS Glue-原生转换 — 适用于所有用户并由 AWS Glue 管理。
-
自定义视觉转换 — 允许您上传自己的转换以在 AWS Glue Studio 中使用
AWS Glue 托管数据转换节点
AWS Glue Studio 提供一组内置转换,可用于处理数据。您的数据从任务图中的一个节点传递到名为 DynamicFrame
的数据结构(这是 Apache Spark SQL DataFrame
的扩展)中的另一个节点。
在作业的预填充图中,数据来源节点和数据目标节点之间是更改架构转换节点。您可以将此转换节点配置为修改数据,也可以使用其他转换。
以下内置转换适用于 AWS Glue Studio:
-
ChangeSchema:将数据来源中的数据属性键映射到数据目标中的数据属性键。您可以重命名键、修改键的数据类型以及选择要从数据集中删除的键。
-
SelectFields:选择要保留的数据属性键。
-
DropFields:选择要删除的数据属性键。
-
RenameField:重命名单个数据属性键。
-
Spigot:将数据样本写入 Amazon S3 存储桶。
-
Join:使用指定数据属性键上的比较短语将两个数据集联接到一个数据集。您可以使用内部、外部、左、右、左半和左反联接。
-
联合:合并多个数据来源中具有相同架构的行。
-
SplitFields:将数据属性键拆分为两个
DynamicFrames
。输出是DynamicFrames
集合:一个具有选定的数据属性键,另一个具有剩余的数据属性键。 -
SelectFromCollection:请从
DynamicFrames
集合中选择一个DynamicFrame
。输出是选定的DynamicFrame
。 -
FillMissingValues:查找数据集中缺少值的记录,并添加包含由输入决定的建议值的新字段
-
Filter:根据筛选条件将数据集拆分为两个。
-
删除 Null 字段:如果列中的所有值都为“null”,则从数据集中移除这些列。
-
删除重复项:通过选择匹配整行或指定键,从数据来源中删除行。
-
SQL:在文本输入字段中输入 SparkSQL 代码以使用 SQL 查询转换数据。输出为单个
DynamicFrame
。 -
聚合:对所选字段和行执行计算(例如平均值、总和、最小值、最大值),并使用新计算的值创建新字段。
-
扁平化:将结构内的字段提取到顶级字段中。
-
UUID:为每行添加一个带有通用唯一标识符的列。
-
标识符:为每行添加一个带有数字标识符的列。
-
到时间戳:将列转换为时间戳类型。
-
格式化时间戳:将时间戳列转换为格式化字符串。
-
条件路由器转换:对传入数据应用多个条件。传入数据的每一行都通过一组筛选条件进行评估,然后处理到相应的组中。
-
串联列转换:使用带有可选间隔符的其他列的值来生成新的字符串列。
-
拆分字符串转换:使用正则表达式将字符串分解为令牌数组,以定义拆分的完成方式。
-
数组转列转换:将数组类型的列的部分或全部元素提取到新列中。
-
添加当前时间戳转换:用数据处理时间标记行。这对于审计目的或跟踪数据管道中的延迟非常有用。
-
将行转置为列转换:通过旋转选定列上的唯一值来聚合数字列,这些列会变成新列。如果选择了多列,则将这些值串联起来命名新列。
-
反转置列为行转换:将列转换为新列的值,为每个唯一值生成一行。
-
自动平衡处理转换:更好地在工作线程之间重新分配数据。当数据不平衡或数据来自源时不允许对其进行足够的并行处理时,这很有用。
-
派生列转换:根据数学公式或 SQL 表达式定义一个新列,您可以在其中使用数据中的其他列以及常量和文字。
-
查找转换:当键与数据中定义的查找列匹配时,从定义的目录表中添加列。
-
分解数组或映射到行转换:将嵌套结构中的值提取到更易于操作的单个行中。
-
记录匹配转换:调用现有的记录匹配机器学习数据分类转换。
-
移除空行转换:从数据集中移除所有列均为空(null)或空(empty)的行。
-
解析 JSON 列转换:解析包含 JSON 数据的字符串列并将其转换为结构或数组列,具体取决于 JSON 是对象还是数组。
-
提取 JSON 路径转换:从 JSON 字符串列中提取新列。
-
从正则表达式中提取字符串片段:使用正则表达式提取字符串片段并从中创建新列,如果使用正则表达式组则创建多列。
-
Custom transform:在文本输入字段中输入代码以使用自定义转换。输出是
DynamicFrames
的集合。