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