Lecture à partir d' NetSuite entités Oracle - AWS Glue

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Lecture à partir d' NetSuite entités Oracle

Prérequis

Un NetSuite objet Oracle à partir de lequel vous souhaitez lire. Vous aurez besoin du nom de l'objet tel que deposit outimebill. Le tableau suivant indique les entités prises en charge.

Entités prises en charge pour la source :

Entité Peut être filtré Prend en charge Order By Supports Limit SELECTSoutiens* Supporte le partitionnement
Dépôt Oui Non Oui Oui Oui
Description de l'article Oui Non Oui Oui Oui
Élément d'inventaire Oui Non Oui Oui Oui
Exécution des éléments Oui Non Oui Oui Oui
Groupe d'éléments Oui Non Oui Oui Oui
Entrée de journal Oui Non Oui Oui Oui
Article non acheté en stock Oui Non Oui Oui Oui
Article non revendu en stock Oui Non Oui Oui Oui
Article en vente hors stock Oui Non Oui Oui Oui
Bon de commande Oui Non Oui Oui Oui
Filiale Oui Non Oui Oui Oui
Vendor Oui Non Oui Oui Oui
Facturation fournisseur Oui Non Oui Oui Oui
Autorisation de retour fournisseur Oui Non Oui Oui Oui
Facture d'heure Oui Non Oui Oui Oui
Paiement client Oui Non Oui Oui Oui
Demande d'exécution Oui Non Oui Oui Oui

Exemple :

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

Détails de NetSuite l'entité et du champ Oracle :

Oracle charge NetSuite dynamiquement les champs disponibles sous l'entité sélectionnée. Les opérateurs de filtre suivants varient en fonction du type de données du champ.

Type de données de champ Opérateurs de filtre pris en charge
Chaîne LIKE, =, !=
Date BETWEEN, =, <, <=, >, >=
DateTime BETWEEN, <, <=, >, >=
Numérique =, !=, <, <=, >, >=
Booléen =, !=

Requêtes de partitionnement

Partitionnement basé sur le terrain

Le NetSuite connecteur Oracle possède des métadonnées dynamiques afin que les champs pris en charge pour le partitionnement basé sur les champs soient choisis de manière dynamique. Le partitionnement basé sur les champs est pris en charge sur les champs de type Integer BigInteger, Date ou DateTime.

Vous pouvez fournir les options supplémentaires de Spark PARTITION_FIELDLOWER_BOUND,UPPER_BOUND, et NUM_PARTITIONS si vous souhaitez utiliser la simultanéité dans Spark. Avec ces paramètres, la requête d'origine serait divisée en NUM_PARTITIONS plusieurs sous-requêtes pouvant être exécutées simultanément par les tâches Spark.

  • PARTITION_FIELD: le nom du champ à utiliser pour partitionner la requête.

  • LOWER_BOUND: une valeur inférieure inclusive du champ de partition choisi.

    Pour le champ d'horodatage, nous acceptons le format d'horodatage Spark utilisé dans les requêtes Spark. SQL

    Exemples de valeurs valides :

    "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: une valeur limite supérieure exclusive du champ de partition choisi.

  • NUM_PARTITIONS: nombre de partitions.

Exemple :

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" }

Partitionnement basé sur des enregistrements

Vous pouvez fournir l'option Spark supplémentaire NUM_PARTITIONS si vous souhaitez utiliser la simultanéité dans Spark. Avec ce paramètre, la requête d'origine serait divisée en NUM_PARTITIONS plusieurs sous-requêtes pouvant être exécutées simultanément par les tâches Spark.

Dans le partitionnement basé sur les enregistrements, le nombre total d'enregistrements présents est demandé à Oracle NetSuite API, puis divisé par le NUM_PARTITIONS nombre fourni, le nombre d'enregistrements qui en résulte est ensuite extrait simultanément par chaque sous-requête.

  • NUM_PARTITIONS: nombre de partitions.

Exemple :

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