Lettura dalle entità di Domo
Prerequisito
Un oggetto di Domo da cui si desidera leggere. Sarà necessario il nome dell'oggetto, ad esempio Set di dati o Policy relative alle autorizzazioni sui dati. Nella tabella seguente sono illustrate le entità supportate.
Entità supportate come origine:
| Entità | Può essere filtrato | Supporta limite | Supporta Ordina per | Supporta Seleziona * | Supporta il partizionamento |
|---|---|---|---|---|---|
| Set di dati | Sì | Sì | Sì | Sì | Sì |
| Policy relative alle autorizzazioni sui dati | No | No | No | Sì | No |
Esempio:
Domo_read = glueContext.create_dynamic_frame.from_options( connection_type="domo", connection_options={ "connectionName": "connectionName", "ENTITY_NAME": "dataset", "API_VERSION": "v1" }
Dettagli dell'entità e del campo di Domo
Entità con metadati statici:
| Entità | Campo | Tipo di dati | Operatori supportati |
|---|---|---|---|
| Policy relative alle autorizzazioni sui dati | id | Long | N/D |
| tipo | Stringa | N/A | |
| nome | Stringa | N/A | |
| filtri | Elenco | N/D | |
| utenti | Elenco | N/D | |
| virtualUsers | Elenco | N/D | |
| gruppi | Elenco | N/D |
Per la seguente entità, Domo fornisce endpoint per recuperare i metadati in modo dinamico, cosicché il supporto dell'operatore venga acquisito a livello di tipo di dati per l'entità.
| Entità | Tipo di dati | Operatori supportati |
|---|---|---|
| Set di dati | Numero intero | =, !=, <, >, >=, <= |
| Long | =, !=, <, >, >=, <= | |
| Stringa | =, !=, CONTAINS | |
| Data | =, >, >=, <, <=, BETWEEN | |
| DateTime | =, >, >=, <, <=, BETWEEN | |
| Booleano | =, != | |
| Doppio | =, !=, <, >, >=, <= | |
| Elenco | N/D | |
| Struct | N/D |
Query di partizionamento
Partizionamento basato sul campo
È possibile fornire le opzioni Spark aggiuntive PARTITION_FIELD, LOWER_BOUND, UPPER_BOUND e NUM_PARTITIONS se si desidera utilizzare la simultaneità in Spark. Con questi parametri, la query originale viene suddivisa in NUM_PARTITIONS query secondarie 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 DateTime, accettiamo il valore in formato ISO.
Esempio di valore valido:
"2023-01-15T11:18:39.205Z"Per il campo Data, accettiamo il valore in formato ISO.
Esempio di valore valido:
"2023-01-15"UPPER_BOUND: un valore limite superiore esclusivo del campo di partizione scelto.Esempio di valore valido:
"2023-02-15T11:18:39.205Z"NUM_PARTITIONS: il numero di partizioni.
I dettagli di supporto del campo di partizionamento per entità sono riportati nella tabella seguente:
| Nome dell'entità | Campi di partizionamento | Tipo di dati |
|---|---|---|
| Set di dati | Qualsiasi campo basato su Data/Ora [metadati dinamici] | DateTime |
| Qualsiasi campo basato su Data [metadati dinamici] | Data |
Esempio:
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" }
Partizionamento basato su record
È possibile fornire l'opzione Spark aggiuntiva NUM_PARTITIONS se si desidera utilizzare la simultaneità in Spark. Con questo parametro, la query originale viene suddivisa in NUM_PARTITIONS query secondarie che possono essere eseguite contemporaneamente dalle attività Spark.
Nel partizionamento basato su record, Domo esegue query sul numero totale di record presenti e lo divide per il numero NUM_PARTITIONS fornito. Il numero di record risultante viene quindi recuperato contemporaneamente da ciascuna sotto-query.
Esempio:
Domo_read = glueContext.create_dynamic_frame.from_options( connection_type="domo", connection_options={ "connectionName": "connectionName", "ENTITY_NAME": "dataset", "API_VERSION": "v1", "NUM_PARTITIONS": "2" }