本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
DynamicFrameReader 類別
— methods —
__init__
__init__(glue_context)
glue_context– 所要使用的 GlueContext 類別。
from_rdd
from_rdd(data, name, schema=None, sampleRatio=None)
DynamicFrame 從彈性分散式資料集 (RDD) 的讀取。
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– 連線選項,例如路徑和資料庫資料表 (選用)。如需詳細資訊,請參閱 Glue for Spark 中的 ETL AWS 連線類型和選項。如果是connection_type的s3,Amazon S3 路徑定義在陣列中。connection_options = {"paths": [ "s3://amzn-s3-demo-bucket/object_a", "s3://amzn-s3-demo-bucket/object_b"]}如果是 JDBC 連線,必須定義幾項屬性。請注意,資料庫名稱必須是 URL 的一部分。它可以選擇性包含在連線選項中。
警告
不建議在指令碼中存放密碼。考慮使用 從 AWS Secrets Manager 或 Glue Data Catalog AWS
boto3擷取它們。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) 或支援多種格式的 AWS Glue 連線。請參閱 AWS Glue for Spark 中的輸入與輸出的資料格式選項 以了解受支援的格式。format_options– 指定格式的格式選項。請參閱 AWS Glue for Spark 中的輸入與輸出的資料格式選項 以了解受支援的格式。transformation_ctx– 欲使用的轉換細節 (選用)。push_down_predicate– 篩選分割區,而無需列出和讀取資料集中的所有檔案。如需詳細資訊,請參閱使用 Pushdown 述詞預先篩選。
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– 篩選分割區,而無需列出和讀取資料集中的所有檔案。如需詳細資訊,請參閱使用 pushdown 述詞預先篩選。additional_options– 提供給 AWS Glue 的額外選項。-
若要使用執行平行讀取的 JDBC 連線,您可以設定
hashfield、hashexpression或hashpartitions選項。例如:additional_options = {"hashfield": "month"}如需詳細資訊,請參閱從 JDBC 資料表中平行讀取。
-
若要傳遞目錄表達式以根據索引欄進行篩選,您可以參閱
catalogPartitionPredicate選項。catalogPartitionPredicate— 您可以傳遞目錄表達式以根據索引欄進行篩選。這會將篩選下推至伺服器端。如需詳細資訊,請參閱 AWS Glue 分割區索引。注意push_down_predicate和catalogPartitionPredicate使用不同的語法。前者使用 Spark SQL 標準語法,後者使用 JSQL 剖析器。如需詳細資訊,請參閱在 AWS Glue 中管理適用於 ETL 輸出的分割區。
-