Aus NetSuite Oracle-Entitäten lesen - AWS Glue

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Aus NetSuite Oracle-Entitäten lesen

Voraussetzung

Ein NetSuite Oracle-Objekt, aus dem Sie lesen möchten. Sie benötigen den Objektnamen wie deposit odertimebill. Die folgende Tabelle zeigt die unterstützten Entitäten.

Unterstützte Entitäten für die Quelle:

Entität Kann gefiltert werden Unterstützt Order By Unterstützt Limit Unterstützt SELECT * Unterstützt Partitionierung
Einzahlung Ja Nein Ja Ja Ja
Beschreibung Artikel Ja Nein Ja Ja Ja
Artikel aus dem Inventar Ja Nein Ja Ja Ja
Versand von Artikeln Ja Nein Ja Ja Ja
Artikelgruppe Ja Nein Ja Ja Ja
Tagebucheintrag Ja Nein Ja Ja Ja
Kaufartikel ohne Inventar Ja Nein Ja Ja Ja
Wiederverkaufsartikel, der nicht auf Lager ist Ja Nein Ja Ja Ja
Artikel zum Verkauf, der nicht auf Lager ist Ja Nein Ja Ja Ja
Bestellungen Ja Nein Ja Ja Ja
Tochtergesellschaft Ja Nein Ja Ja Ja
Hersteller Ja Nein Ja Ja Ja
Verkäufer Bill Ja Nein Ja Ja Ja
Autorisierung der Rücksendung durch den Lieferanten Ja Nein Ja Ja Ja
Zeitrechnung Ja Nein Ja Ja Ja
Zahlung durch den Kunden Ja Nein Ja Ja Ja
Anfrage zur Erfüllung Ja Nein Ja Ja Ja
Item Ja Ja Ja Ja Ja
Transaktionszeile Ja Ja Ja Ja Ja
Buchhaltungszeile für Transaktionen Ja Ja Ja Ja Ja
Benutzerdefinierte Datensatztypen (dynamisch) Ja Ja Ja Ja Ja

Beispiel:

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

Angaben zur NetSuite Oracle-Entität und zum Feld:

Oracle lädt die verfügbaren Felder NetSuite dynamisch unter der ausgewählten Entität. Je nach Datentyp des Felds unterstützt es die folgenden Filteroperatoren.

Datentyp des Felds Unterstützte Filteroperatoren
String WIE, =,! =
Datum ZWISCHEN, =, <, <=, >, >=
DateTime ZWISCHEN, <, <=, >, >=
Numerischer Wert =, !=, <, <=, >, >=
Boolesch =, !=

Erwartetes Eingabeformat für boolesche Werte im Filterausdruck:

Entität Boolesches Wertformat „wahr“ Boolesches Wertformat „falsch“ Beispiel
Entitäten vom Typ „Artikel“, „Transaktionsposition“, „Transaktionsbuchhaltungsposition“ und „Benutzerdefinierter Datensatz“ T oder t F oder f isinactive = „T“ oder isinactive = „t“
Alle anderen Entitäten true false isinactive = wahr

Abfragen partitionieren

Feldbasierte Partitionierung

Der NetSuite Oracle-Konnektor verfügt über dynamische Metadaten, sodass unterstützte Felder für die feldbasierte Partitionierung dynamisch ausgewählt werden. Die feldbasierte Partitionierung wird für Felder mit dem Datentyp Integer BigInteger, Date oder unterstützt. DateTime

Sie können die zusätzlichen Spark-OptionenPARTITION_FIELD,LOWER_BOUND, und angebenUPPER_BOUND, NUM_PARTITIONS falls Sie Parallelität in Spark nutzen möchten. Mit diesen Parametern würde die ursprüngliche Abfrage in eine NUM_PARTITIONS Reihe von Unterabfragen aufgeteilt, die von Spark-Aufgaben gleichzeitig ausgeführt werden können.

  • PARTITION_FIELD: der Name des Feldes, das zur Partitionierung der Abfrage verwendet werden soll.

  • LOWER_BOUND: ein inklusiver Untergrenzwert des ausgewählten Partitionsfeldes.

    Für das Zeitstempelfeld akzeptieren wir das Spark-Zeitstempelformat, das in Spark-SQL-Abfragen verwendet wird.

    Beispiele für gültige Werte:

    "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: ein exklusiver Obergrenzwert des ausgewählten Partitionsfeldes.

  • NUM_PARTITIONS: die Anzahl der Partitionen.

Beispiel:

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

Datensatzbasierte Partitionierung

Sie können die zusätzliche Spark-Option bereitstellen, NUM_PARTITIONS wenn Sie Parallelität in Spark nutzen möchten. Mit diesem Parameter würde die ursprüngliche Abfrage in eine NUM_PARTITIONS Anzahl von Unterabfragen aufgeteilt, die von Spark-Aufgaben gleichzeitig ausgeführt werden können.

Bei der datensatzbasierten Partitionierung wird die Gesamtzahl der vorhandenen Datensätze von der NetSuite Oracle-API abgefragt und durch die angegebene NUM_PARTITIONS Anzahl geteilt. Die resultierende Anzahl von Datensätzen wird dann gleichzeitig von jeder Unterabfrage abgerufen.

  • NUM_PARTITIONS: die Anzahl der Partitionen.

Beispiel:

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