Amazon Glue 中的 ETL 输入和输出的数据格式选项
调用 Amazon Glue 方法和转换时,某些 Amazon Glue 连接类型需要您指定数据格式。例如,Amazon S3 中的文件可以是任何数据格式,因此与 Amazon S3 的连接需要 format_options。但是,在正常使用过程中,与关系数据库的 JDBC 连接将以一致的表格数据格式检索数据,因此 JDBC 连接不需要 format_options。以下连接类型需要选择 format_options。
s3– 有关更多信息,请参阅 Amazon Glue 中的 ETL 的连接类型和选项:Amazon S3 连接kinesis– 有关更多信息,请参阅 Amazon Glue 中的 ETL 的连接类型和选项:Kinesis 连接kafka– 有关更多信息,请参阅 Amazon Glue 中的 ETL 的连接类型和选项:Kafka 连接
目前,流式处理 ETL 任务支持的唯一格式是 JSON、CSV、Parquet、ORC、Avro 和 Grok。
对于访问 Amazon Lake Formation 受管表的任务,Amazon Glue 支持读取和写入 Lake Formation 受管表支持的所有格式。有关当前 Amazon Lake Formation 受管表支持的格式列表,请参阅 Amazon Lake Formation 开发人员指南中的受管表的注释和限制。
对于写入 Apache Parquet,Amazon Glue ETL 仅支持为针对动态帧进行优化的自定义 Parquet 编写器类型指定选项来写入受管表。使用 parquet 格式写入受管表时,应在表参数中添加值为 true 的键 useGlueParquetWriter。
编写 Amazon Glue ETL 脚本时,您提供 format_options 到 Amazon Glue PySpark 和 Scala 方法和转换。可用选项因数据格式而异。您将提供带有 format 参数的数据格式,然后提供带有 format_options 参数的选项。使用 Amazon Glue 数据目录时,您无需指定 format_options,因为目录管理有关数据格式的信息。以下 PySpark 方法需要选择 format_options。
以下 Scala 方法需要选择 format_options。Scala 库使用 camelCase,所以类似的参数被称为 formatOptions。
Scala 库配置和启动具有不同操作的任务。GlueContext.getSourceWithFormat 和 GlueContext.getSinkWithFormat 创建具有各自类型的可变特性。有关这些特性的更多信息,请参阅 DataSource 和 DataSink。在这些特性被初始化之后但用于启动任务之前,对它们设置 formatOptions。
本节概述了每种数据格式可用的不同选项。
主题