Lettura dalle entità di Domo - AWS Glue

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

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