Lettura dalle entità di Domo - AWS Glue

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
Policy relative alle autorizzazioni sui dati No No No 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" }