

# 使用 Amazon Glue 托管转换转换数据
<a name="edit-jobs-transforms"></a>

 Amazon Glue Studio 提供了两种类型的转换：
+  **Amazon Glue-原生转换** — 适用于所有用户并由 Amazon Glue 管理。
+  **自定义视觉转换** — 允许您上传自己的转换以在 Amazon Glue Studio 中使用 

## Amazon Glue 托管数据转换节点
<a name="edit-jobs-transforms-glue-managed"></a>

Amazon Glue Studio 提供一组内置转换，可用于处理数据。您的数据从任务图中的一个节点传递到名为 `DynamicFrame` 的数据结构（这是 Apache Spark SQL `DataFrame` 的扩展）中的另一个节点。

在作业的预填充图中，数据来源节点和数据目标节点之间是**更改架构**转换节点。您可以将此转换节点配置为修改数据，也可以使用其他转换。

以下内置转换适用于 Amazon Glue Studio：
+ **[ChangeSchema](transforms-configure-applymapping.md)**：将数据来源中的数据属性键映射到数据目标中的数据属性键。您可以重命名键、修改键的数据类型以及选择要从数据集中删除的键。
+ **[SelectFields](transforms-configure-select-fields.md)**：选择要保留的数据属性键。
+ **[DropFields](transforms-configure-drop-fields.md)**：选择要删除的数据属性键。
+ **[RenameField](transforms-configure-rename-field.md)**：重命名单个数据属性键。
+ **[Spigot](transforms-configure-spigot.md)**：将数据样本写入 Amazon S3 存储桶。
+ **[Join](transforms-configure-join.md)**：使用指定数据属性键上的比较短语将两个数据集联接到一个数据集。您可以使用内部、外部、左、右、左半和左反联接。
+ **[联合](transforms-configure-union.md)**：合并多个数据来源中具有相同架构的行。
+ **[SplitFields](transforms-configure-split-fields.md)**：将数据属性键拆分为两个 `DynamicFrames`。输出是 `DynamicFrames` 集合：一个具有选定的数据属性键，另一个具有剩余的数据属性键。
+ **[SelectFromCollection](transforms-selectfromcollection-overview.md)**：请从 `DynamicFrames` 集合中选择一个 `DynamicFrame`。输出是选定的 `DynamicFrame`。
+ **[FillMissingValues](transforms-configure-fmv.md)**：查找数据集中缺少值的记录，并添加包含由输入决定的建议值的新字段
+ **[Filter](transforms-filter.md)**：根据筛选条件将数据集拆分为两个。
+  **[删除 Null 字段](transforms-dropnull-fields.md)**：如果列中的所有值都为“null”，则从数据集中移除这些列。
+  **[删除重复项](transforms-drop-duplicates.md)**：通过选择匹配整行或指定键，从数据来源中删除行。
+ **[SQL](transforms-sql.md)**：在文本输入字段中输入 SparkSQL 代码以使用 SQL 查询转换数据。输出为单个 `DynamicFrame`。
+  **[聚合](transforms-aggregate-fields.md)**：对所选字段和行执行计算（例如平均值、总和、最小值、最大值），并使用新计算的值创建新字段。
+ **[扁平化](transforms-flatten.md)**：将结构内的字段提取到顶级字段中。
+ **[UUID](transforms-uuid.md)**：为每行添加一个带有通用唯一标识符的列。
+ **[标识符](transforms-identifier.md)**：为每行添加一个带有数字标识符的列。
+ **[到时间戳](transforms-to-timestamp.md)**：将列转换为时间戳类型。
+ **[格式化时间戳](transforms-format-timestamp.md)**：将时间戳列转换为格式化字符串。
+ **[条件路由器转换](transforms-conditional-router.md)**：对传入数据应用多个条件。传入数据的每一行都通过一组筛选条件进行评估，然后处理到相应的组中。
+  **[串联列转换](transforms-concatenate-columns.md)**：使用带有可选间隔符的其他列的值来生成新的字符串列。
+  **[拆分字符串转换](transforms-split-string.md)**：使用正则表达式将字符串分解为令牌数组，以定义拆分的完成方式。
+  **[数组转列转换](transforms-array-to-columns.md)**：将数组类型的列的部分或全部元素提取到新列中。
+  **[添加当前时间戳转换](transforms-add-current-timestamp.md)**：用数据处理时间标记行。这对于审计目的或跟踪数据管道中的延迟非常有用。
+  **[将行转置为列转换](transforms-pivot-rows-to-columns.md)**：通过旋转选定列上的唯一值来聚合数字列，这些列会变成新列。如果选择了多列，则将这些值串联起来命名新列。
+  **[反转置列为行转换](transforms-unpivot-columns-to-rows.md)**：将列转换为新列的值，为每个唯一值生成一行。
+  **[自动平衡处理转换](transforms-autobalance-processing.md)**：更好地在工作线程之间重新分配数据。当数据不平衡或数据来自源时不允许对其进行足够的并行处理时，这很有用。
+  **[派生列转换](transforms-derived-column.md)**：根据数学公式或 SQL 表达式定义一个新列，您可以在其中使用数据中的其他列以及常量和文字。
+  **[查找转换](transforms-lookup.md)**：当键与数据中定义的查找列匹配时，从定义的目录表中添加列。
+  **[分解数组或映射到行转换](transforms-explode-array.md)**：将嵌套结构中的值提取到更易于操作的单个行中。
+  **[记录匹配转换](transforms-record-matching.md)**：调用现有的记录匹配机器学习数据分类转换。
+  **[移除空行转换](transforms-remove-null-rows.md)**：从数据集中移除所有列均为空（null）或空（empty）的行。
+  **[解析 JSON 列转换](transforms-parse-json-column.md)**：解析包含 JSON 数据的字符串列并将其转换为结构或数组列，具体取决于 JSON 是对象还是数组。
+  **[提取 JSON 路径转换](transforms-extract-json-path.md)**：从 JSON 字符串列中提取新列。
+  **[从正则表达式中提取字符串片段](transforms-regex-extractor.md)**：使用正则表达式提取字符串片段并从中创建新列，如果使用正则表达式组则创建多列。
+ **[Custom transform](transforms-custom.md)**：在文本输入字段中输入代码以使用自定义转换。输出是 `DynamicFrames` 的集合。