Lesen aus Domo-Entitäten - 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.

Lesen aus Domo-Entitäten

Voraussetzung

Ein Domo-Objekt, aus dem gelesen werden soll. Sie benötigen den Objektnamen wie Datensatz oder Datenberechtigungsrichtlinien. Die folgende Tabelle zeigt die unterstützten Entitäten.

Unterstützte Entitäten für Quelle:

Entität Kann gefiltert werden Unterstützt Limit Unterstützt „Sortieren nach“ Unterstützt „* auswählen“ Unterstützt Partitionierung
Dataset Ja Ja Ja Ja Ja
Datenberechtigungsrichtlinien Nein Nein Nein Ja Nein

Beispiel:

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

Domo-Entitäts- und Felddetails

Entitäten mit statischen Metadaten:

Entität Feld Datentyp Unterstützte Operatoren
Datenberechtigungsrichtlinien id Long N/A
Typ String N/A
Name String N/A
-Filter Auflisten N/A
Benutzer Auflisten N/A
virtualUsers Auflisten N/A
Gruppen Auflisten N/A

Für die folgenden Entitäten stellt Domo Endpunkte zum dynamischen Abrufen von Metadaten bereit, sodass die Operatorunterstützung auf Datentypebene für die Entität erfasst wird.

Entität Datentyp Unterstützte Operatoren
Dataset Ganzzahl =, !=, <, >, >=, <=
Long =, !=, <, >, >=, <=
String =, !=, CONTAINS
Datum =, <, <=, >, >=, BETWEEN
DateTime =, <, <=, >, >=, BETWEEN
Boolesch =, !=
Double =, !=, <, >, >=, <=
Auflisten N/A
Struct N/A

Partitionieren von Abfragen

Feldbasierte Partitionierung

Sie können die zusätzlichen Spark-Optionen PARTITION_FIELD, LOWER_BOUND, UPPER_BOUND und NUM_PARTITIONS angeben, wenn Sie Parallelität in Spark nutzen möchten. Mit diesen Parametern wird die ursprüngliche Abfrage in NUM_PARTITIONS 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 Partitionsfelds.

    Für das DateTime-Feld akzeptieren wir den Wert im ISO-Format.

    Beispiel für gültigen Wert:

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

    Für das Datumsfeld akzeptieren wir den Wert im ISO-Format.

    Beispiel für gültigen Wert:

    "2023-01-15"
  • UPPER_BOUND: ein exklusiver Obergrenzwert des ausgewählten Partitionsfelds.

    Beispiel für gültigen Wert:

    "2023-02-15T11:18:39.205Z"
  • NUM_PARTITIONS: die Anzahl der Partitionen.

Details zur Unterstützung von Feldern für die entitätsbezogene Partitionierung sind in der folgenden Tabelle aufgeführt.

Entity-Name Partitionieren von Feldern Datentyp
Datensatz Beliebiges auf Datum/Uhrzeit basierendes Feld [dynamische Metadaten] DateTime
Beliebiges datumsbasiertes Feld [dynamische Metadaten] Datum

Beispiel:

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

Datensatzbasierte Partitionierung

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

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

Beispiel:

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