從 Oracle NetSuite 實體中讀取 - AWS Glue

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

從 Oracle NetSuite 實體中讀取

必要條件

您想要從中讀取的 Oracle NetSuite 物件。您將需要物件名稱,例如 deposittimebill。下表顯示支援的實體。

來源的支援實體

實體 可以篩選 支援排序依據 支援限制 支援 SELECT * 支援分區
訂金
說明項目
庫存項目
項目履行
項目群組
日誌項
非庫存購買項目
非庫存轉售項目
非庫存銷售項目
購買訂單
附屬公司
廠商
廠商帳單
供應商退貨授權
時間帳單
客戶付款
履行請求
項目
交易行
交易會計行
自訂記錄類型 (動態)

範例

netsuiteerp_read = glueContext.create_dynamic_frame.from_options( connection_type="netsuiteerp", connection_options={ "connectionName": "connectionName", "ENTITY_NAME": "deposit", "API_VERSION": "v1" } )

Oracle NetSuite 實體和欄位詳細資訊

Oracle NetSuite 會在選取的實體下動態載入可用欄位。視欄位的資料類型而定,其支援下列篩選條件運算子。

欄位資料類型 支援的篩選條件運算子
String LIKE, =, !=
日期 BETWEEN, =, <, <=, >, >=
DateTime BETWEEN, <, <=, >, >=
數值 =, !=, <, <=, >, >=
Boolean =, !=

篩選條件表達式中布林值的預期輸入格式

實體 布林值 "true" 值格式 布林值 "false" 值格式 範例
「項目」、「交易行」、「交易會計行」和「自訂記錄類型」實體 T 或 t F 或 f isinactive = "T" 或 isinactive = "t"
所有其他實體 true false isinactive = true

分區查詢

欄位型分區

Oracle NetSuite 連接器具有動態中繼資料,以便動態選擇欄位型分區的支援欄位。資料類型為 Integer、BigInteger、Date 或 DateTime 的欄位支援欄位型分區。

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

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

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

    對於時間戳記欄位,接受 Spark SQL 查詢中使用的 Spark 時間戳記格式。

    有效值的範例:

    "TIMESTAMP \"1707256978123\"" "TIMESTAMP \"1702600882\"" "TIMESTAMP '2024-02-06T22:00:00:00.000Z'" "TIMESTAMP '2024-02-06T22:00:00:00Z'" "TIMESTAMP '2024-02-06'"
  • UPPER_BOUND:所選分區欄位的唯一上限值。

  • NUM_PARTITIONS:分區數目。

範例:

netsuiteerp_read = glueContext.create_dynamic_frame.from_options( connection_type="netsuiteerp", connection_options={ "connectionName": "connectionName", "ENTITY_NAME": "deposit", "API_VERSION": "v1", "PARTITION_FIELD": "id", "LOWER_BOUND": "1", "UPPER_BOUND": "10000", "NUM_PARTITIONS": "10" }

記錄型分區

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

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

  • NUM_PARTITIONS:分區數目。

範例:

netsuiteerp_read = glueContext.create_dynamic_frame.from_options( connection_type="netsuiteerp", connection_options={ "connectionName": "connectionName", "ENTITY_NAME": "deposit", "API_VERSION": "v1", "NUM_PARTITIONS": "3" }