本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
DynamicFrameReader 类
– 方法 –
__init__
__init__(glue_context)
glue_context
– 要使用的 GlueContext 类。
from_rdd
from_rdd(data, name, schema=None, sampleRatio=None)
从弹性分布式数据集 (RDD) 读取 DynamicFrame
。
data
– 要从中读取的数据集。name
– 要从中读取的名称。schema
– 要读取的架构 (可选)。sampleRatio
– 采样率 (可选)。
from_options
from_options(connection_type, connection_options={}, format=None,
format_options={}, transformation_ctx="")
使用指定的连接和格式读取 DynamicFrame
。
connection_type
– 连接类型。有效值包括s3
、mysql
、postgresql
、redshift
、sqlserver
、oracle
、dynamodb
和snowflake
。connection_options
– 连接选项,例如路径和数据库表 (可选)。有关更多信息,请参阅 AmazonGlue for Spark 中的 ETL 的连接类型和选项。对于connection_type
的s3
,Amazon S3 路径在数组中定义。connection_options = {"paths": [ "
s3://mybucket/object_a
", "s3://mybucket/object_b
"]}对于 JDBC 连接,必须定义多个属性。请注意,数据库名称必须是 URL 的一部分。它可以选择性地包含在连接选项中。
警告
不建议在脚本中存储密码。请考虑使用
boto3
从 Amazon Secrets Manager 或 Amazon Glue Data Catalog 检索它们。connection_options = {"url": "
jdbc-url/database
", "user": "username
", "password":passwordVariable
,"dbtable": "table-name
", "redshiftTmpDir": "s3-tempdir-path
"}对于执行并行读取的 JDBC 连接,您可以设置 hashfield 选项。例如:
connection_options = {"url": "
jdbc-url/database
", "user": "username
", "password":passwordVariable
,"dbtable": "table-name
", "redshiftTmpDir": "s3-tempdir-path
" , "hashfield": "month
"}有关更多信息,请参阅 从 JDBC 表并行读取。
format
– 格式规范(可选)。这用于 Amazon Simple Storage Service(Amazon S3)或支持多种格式的 Amazon Glue 连接。有关支持的格式,请参阅 Amazon Glue for Spark 中的输入和输出的数据格式选项。format_options
– 指定格式的格式选项。有关支持的格式,请参阅 Amazon Glue for Spark 中的输入和输出的数据格式选项。transformation_ctx
– 要使用的转换上下文 (可选)。push_down_predicate
– 筛选分区,而不必列出并读取数据集中的所有文件。有关更多信息,请参阅使用下推谓词进行预筛选。
from_catalog
from_catalog(database, table_name, redshift_tmp_dir="", transformation_ctx="", push_down_predicate="", additional_options={})
使用指定的目录命名空间和表名称读取 DynamicFrame
。
database
– 要从中读取的数据库。table_name
– 要从中读取的表的名称。redshift_tmp_dir
– 要使用的 Amazon Redshift 临时目录(如果不从 Redshift 中读取数据,则此项是可选的)。transformation_ctx
– 要使用的转换上下文 (可选)。push_down_predicate
– 筛选分区,而不必列出并读取数据集中的所有文件。有关更多信息,请参阅 使用下推谓词进行预筛选。additional_options
提供给 Amazon Glue 的额外选项。-
要使用执行并行读取的 JDBC 连接,您可以设置
hashfield
、hashexpression
或hashpartitions
选项。例如:additional_options = {"hashfield": "
month
"}有关更多信息,请参阅 从 JDBC 表并行读取。
-
要传递目录表达式以根据索引列进行筛选,您可以查看
catalogPartitionPredicate
选项。catalogPartitionPredicate
– 要传递目录表达式以根据索引列进行筛选。这样会将筛选下推到服务器端。有关更多信息,请参阅 Amazon Glue 分区数据。请注意,push_down_predicate
和catalogPartitionPredicate
使用不同的语法。前者使用 Spark SQL 标准语法,后者使用 JSQL 解析器。有关更多信息,请参阅 管理 Amazon Glue 中用于 ETL 输出的分区。
-