Lettura da NetSuite entità Oracle - AWS Glue

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Lettura da NetSuite entità Oracle

Prerequisito

Un NetSuite oggetto Oracle da cui si desidera leggere. È necessario il nome dell'oggetto, ad esempio deposit otimebill. La tabella seguente mostra le entità supportate.

Entità supportate per l'origine:

Entità Può essere filtrato Supportato Order By Supportato Limite SELECTSupporti* Supporta il partizionamento
Deposito No
Descrizione Articolo No
Articolo di inventario No
Evasione dell'articolo No
Gruppo di elementi No
Voce del diario No
Articolo di acquisto non in inventario No
Articolo di rivendita non in inventario No
Articolo in vendita non in inventario No
Ordine di acquisto No
Filiale No
Vendor No
Fornitore Billing No
Autorizzazione alla restituzione del fornitore No
Billing No
Pagamento del cliente No
Richiesta di adempimento No

Esempio:

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

Dettagli NetSuite dell'entità e del campo Oracle:

Oracle carica NetSuite dinamicamente i campi disponibili nell'entità selezionata. A seconda del tipo di dato del campo, supporta i seguenti operatori di filtro.

Tipo di dati dei campi Operatori di filtro supportati
Stringa LIKE, =, !=
Data BETWEEN, =, <, <=, >, >=
DateTime BETWEEN, <, <=, >, >=
Numerico =, !=, <, <=, >, >=
Booleano =, !=

Interrogazioni di partizionamento

Partizionamento basato sul campo

Il NetSuite connettore Oracle dispone di metadati dinamici in modo che i campi supportati per il partizionamento basato sui campi vengano scelti dinamicamente. Il partizionamento basato sui campi è supportato nei campi con il tipo di dati Integer, Date o. BigInteger DateTime

Puoi fornire le opzioni Spark aggiuntive ePARTITION_FIELD, NUM_PARTITIONS se desideri LOWER_BOUNDUPPER_BOUND, utilizzare la concorrenza in Spark. Con questi parametri, la query originale verrebbe suddivisa in un NUM_PARTITIONS numero di sottoquery che possono essere eseguite contemporaneamente dalle attività Spark.

  • PARTITION_FIELD: il nome del campo da utilizzare per partizionare la query.

  • LOWER_BOUND: un valore limite inferiore inclusivo del campo di partizione scelto.

    Per il campo timestamp, accettiamo il formato di timestamp Spark utilizzato nelle query Spark. SQL

    Esempi di valori validi:

    "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: un valore limite superiore esclusivo del campo di partizione scelto.

  • NUM_PARTITIONS: il numero di partizioni.

Esempio:

oracle-netsuite_read = glueContext.create_dynamic_frame.from_options( connection_type="oracle-netsuite", connection_options={ "connectionName": "connectionName", "ENTITY_NAME": "company", "API_VERSION": "v3", "PARTITION_FIELD": "hs_object_id" "LOWER_BOUND": "50" "UPPER_BOUND": "16726619290" "NUM_PARTITIONS": "10" }

Partizionamento basato su record

Puoi fornire l'opzione Spark aggiuntiva NUM_PARTITIONS se desideri utilizzare la concorrenza in Spark. Con questo parametro, la query originale verrebbe suddivisa in un NUM_PARTITIONS numero di sottoquery che possono essere eseguite contemporaneamente dalle attività Spark.

Nel partizionamento basato sui record, il numero totale di record presenti viene interrogato da Oracle e diviso per il NUM_PARTITIONS numero fornito NetSuite API, il numero di record risultante viene quindi recuperato contemporaneamente da ciascuna sottoquery.

  • NUM_PARTITIONS: il numero di partizioni.

Esempio:

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