DynamicFrameReader 類 - AWS Glue

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

DynamicFrameReader 類

 — methods —

__init__

__init__(glue_context)

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 – 連線類型。有效值包括s3mysqlpostgresql、、redshiftsqlserveroracledynamodb、和snowflake

  • connection_options – 連線選項,例如路徑和資料庫資料表 (選用)。如需詳細資訊,請參閱 Spark 的 AWS Glue 中 ETL 的連線類型和選項。如果是 connection_types3,Amazon S3 路徑定義在陣列中。

    connection_options = {"paths": [ "s3://mybucket/object_a", "s3://mybucket/object_b"]}

    如果是 JDBC 連線,必須定義幾項屬性。請注意,資料庫名稱必須是 URL 的一部分。它可以選擇性包含在連線選項中。

    警告

    不建議在指令碼中存放密碼。考慮使boto3用從 AWS Secrets Manager 或 AWS Glue 資料型錄擷取它們。

    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 連線,您可以設定 hashfieldhashexpressionhashpartitions 選項。例如:

      additional_options = {"hashfield": "month"}

      如需詳細資訊,請參閱 從 JDBC 資料表中平行讀取

    • 若要傳遞目錄表達式以根據索引欄進行篩選,您可以參閱 catalogPartitionPredicate 選項。

      catalogPartitionPredicate — 您可以傳遞目錄表達式以根據索引欄進行篩選。這會將篩選下推至伺服器端。如需詳細資訊,請參閱 AWS Glue 分割區索引。注意 push_down_predicatecatalogPartitionPredicate 使用不同的語法。前者使用 Spark SQL 標準語法,後者使用 JSQL 剖析器。

      如需更多詳細資訊,請參閱 在 AWS Glue 中管理適用於 ETL 輸出的分割區