從 Domo 實體中讀取 - AWS Glue

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

從 Domo 實體中讀取

必要條件

您要從中讀取的 Domo 物件。您需要物件名稱,例如資料集或資料許可政策。下表顯示支援的實體。

來源的支援實體

實體 可以篩選 支援限制 支援排序依據 支援選取 * 支援分區
資料集
資料許可政策

範例:

Domo_read = glueContext.create_dynamic_frame.from_options( connection_type="domo", connection_options={ "connectionName": "connectionName", "ENTITY_NAME": "dataset", "API_VERSION": "v1" }

Domo 實體和欄位詳細資訊

具有靜態中繼資料的實體:

實體 欄位 資料類型 支援的運算子
資料許可政策 id Long N/A
type String N/A
name String N/A
篩選條件 清單 N/A
使用者 清單 N/A
virtualUsers 清單 N/A
群組 清單 N/A

對於下列實體,Domo 會提供端點來動態擷取中繼資料,以便在實體的資料類型層級擷取運算子支援。

實體 資料類型 支援的運算子
資料集 Integer =, !=, <, >, >=, <=
Long =, !=, <, >, >=, <=
String =, !=, CONTAINS
日期 =、>、>=、<、<=、BETWEEN
DateTime =、>、>=、<、<=、BETWEEN
Boolean =, !=
Double =, !=, <, >, >=, <=
清單 N/A
Struct N/A

分區查詢

欄位型分區

如果想要在 Spark 中使用並行,可以提供其他 Spark 選項 PARTITION_FIELDLOWER_BOUNDUPPER_BOUNDNUM_PARTITIONS。使用這些參數,原始查詢會分區為可由 Spark 任務並行執行的子查詢的 NUM_PARTITIONS 數目。

  • PARTITION_FIELD:用來分區查詢的欄位名稱。

  • LOWER_BOUND:所選分區欄位的包含下限值。

    對於 DateTime 欄位,接受 ISO 格式的值。

    有效值範例:

    "2023-01-15T11:18:39.205Z"

    對於 Date 欄位,我們接受 ISO 格式的值。

    有效值範例:

    "2023-01-15"
  • UPPER_BOUND:所選分區欄位的唯一上限值。

    有效值範例:

    "2023-02-15T11:18:39.205Z"
  • NUM_PARTITIONS:分區數目。

實體分區欄位支援詳細資訊如下表所示:

實體名稱 分區欄位 資料類型
資料集 任何以 Date/Time 為基礎的欄位 [動態中繼資料] DateTime
任何以 Date 為基礎的欄位 [動態中繼資料] 日期

範例:

Domo_read = glueContext.create_dynamic_frame.from_options( connection_type="domo", connection_options={ "connectionName": "connectionName", "ENTITY_NAME": "dataset", "API_VERSION": "v1", "PARTITION_FIELD": "permissionTime" "LOWER_BOUND": "2023-01-15T11:18:39.205Z" "UPPER_BOUND": "2023-02-15T11:18:39.205Z" "NUM_PARTITIONS": "2" }

記錄型分區

如果想要在 Spark 中使用並行,可以提供其他 Spark 選項 NUM_PARTITIONS。使用此參數,原始查詢會分區為可由 Spark 任務並行執行的子查詢的 NUM_PARTITIONS 數目。

在記錄型分區中,從 Domo 中查詢存在的記錄總數,然後除以提供的 NUM_PARTITIONS 數字。然後,每個子查詢都會同時擷取產生的記錄數目。

範例:

Domo_read = glueContext.create_dynamic_frame.from_options( connection_type="domo", connection_options={ "connectionName": "connectionName", "ENTITY_NAME": "dataset", "API_VERSION": "v1", "NUM_PARTITIONS": "2" }