Dati rilevati

Questa guida spiega come abilitare e utilizzare Dataplex Discovery. Discovery analizza ed estrae i metadati dai dati di un data lake e li registra in Dataproc Metastore, BigQuery e Data Catalog per analisi, ricerca ed esplorazione.

Panoramica

Per ogni asset Dataplex con rilevamento abilitato, Dataplex esegue quanto segue:

  • Analizza i dati associati all'asset.
  • Raggruppa i file strutturati e semistrutturati in tabelle.
  • Raccoglie metadati tecnici, tra cui nome della tabella, schema e definizione della partizione.

Per i dati non strutturati, come immagini e video, Dataplex Discovery rileva e registra automaticamente i gruppi di file di tipo multimediale per la condivisione come set di file. Ad esempio, se gs://images/group1 contiene immagini GIF e gs://images/group2 contiene immagini JPEG, Dataplex Discovery rileva e registra due set di file. Per i dati strutturati, come Avro, Discovery rileva i file solo se si trovano in cartelle che contengono lo stesso formato e lo stesso schema dei dati.

Le tabelle e i set di file rilevati vengono registrati in Data Catalog per la ricerca e il rilevamento. Le tabelle vengono visualizzate in Dataproc Metastore come tabelle di tipo Hive e in BigQuery come tabelle esterne, in modo che i dati siano automaticamente disponibili per l'analisi.

Discovery supporta i seguenti formati di dati strutturati e semistrutturati:

Discovery supporta il seguente formato di compressione per i dati strutturati e semistrutturati:

  • Compressione interna per questi formati:

    Compressione Esempio di estensione del file Formato supportato
    gzip .gz.parquet Parquet
    lz4 .lz4.parquet Parquet
    Rapido .snappy.parquet Parquet, ORC, Avro
    lzo .lzo.parquet Parquet, ORC
  • Compressione esterna per i file JSON e CSV:

    • gzip
    • bzip2

Configurazione rilevamento

Il rilevamento è abilitato per impostazione predefinita quando crei una nuova zona o un nuovo asset. Puoi disattivare il rilevamento a livello di zona o di asset.

Quando crei una zona o un asset, puoi scegliere di ereditare le impostazioni di rilevamento a livello di zona o di eseguire l'override delle impostazioni di rilevamento a livello di asset.

Ecco le opzioni di configurazione del rilevamento disponibili a livello di zona e di asset:

  • Rilevamento attivo e disattivato.

  • Pianificazione rilevamento: questa opzione può essere impostata su una pianificazione predefinita, ad esempio oraria o giornaliera, oppure su una pianificazione personalizzata definita dal formato cron. I nuovi asset vengono analizzati quando vengono aggiunti. Per ulteriori informazioni, consulta Configurazione delle pianificazioni cron. Consigliato: pianifica il rilevamento in modo che venga eseguito ogni ora o meno frequentemente.

  • Pattern di inclusione o esclusione: definisci i file da includere o escludere dalle scansioni di rilevamento, utilizzando i pattern glob nel percorso di inclusione o esclusione. Ad esempio, se vuoi escludere gs://test_bucket/foo/.. dal rilevamento, inserisci **/foo/* come percorso di esclusione. Le virgolette causano errori. Assicurati di inserire **/foo/* anziché "**/foo/*".) Questa funzione è disponibile solo per gli asset Cloud Storage. Quando esistono contemporaneamente entrambi i pattern di inclusione ed esclusione, quelli di esclusione vengono applicati per primi.

  • Specifiche JSON o CSV: consentono di fornire informazioni aggiuntive sui dati semistrutturati, come CSV e JSON, per migliorare l'accuratezza dei risultati di rilevamento.

    • Per i file CSV, puoi fornire uno dei seguenti elementi:

      • Delimiter: questo campo accetta un carattere, tranne \r e \n. Se viene fornito più di un carattere, viene utilizzato solo il primo carattere della stringa. Se non viene specificato, Discovery utilizza una virgola come delimitatore.

      • Numero di righe di intestazione: questo campo accetta il valore 0 o 1. Il valore predefinito è 0. Quando il valore è 0, Discovery esegue l'inferenza dell'intestazione e, se viene rilevata un'intestazione, estrae i nomi delle colonne dall'intestazione e reimposta il valore su 1.

      • Codifica: questo campo accetta nomi di codifica per le stringhe, come UTF-8, US-ASCII o ISO-8859-1. Se non viene specificato nulla, viene utilizzato UTF-8 come valore predefinito.

      • Disabilita inferenza dei tipi: questo campo accetta un valore booleano. Il valore predefinito è false. Per i dati CSV, se disattivi l'inferenza dei tipi, tutte le colonne vengono registrate come stringhe.

    • Per i file JSON, puoi fornire uno dei seguenti elementi:

      • Codifica: questo campo accetta nomi di codifica per le stringhe, come UTF-8, US-ASCII o ISO-8859-1. Se non viene specificato nulla, viene utilizzato UTF-8 come impostazione predefinita.

      • Disattiva l'inferenza del tipo di dati: questo campo accetta un valore booleano. Il valore predefinito è false. Per i dati JSON, se disattivi l'inferenza dei tipi, tutte le colonne vengono registrate come tipi primitivi (stringa, numero o booleano).

Pubblicare i metadati

Quando crei una zona dati nel tuo lake Dataplex, Dataplex crea un set di dati BigQuery nel progetto contenente il lake. Dataplex pubblica tabelle nel set di dati per le tabelle rilevate nei bucket Cloud Storage aggiunti alla zona dati come asset. Il set di dati è definito set di dati di pubblicazione di metadati corrispondente alla zona.

Ogni zona dati Dataplex è mappata a un set di dati in BigQuery o a un database in Dataproc Metastore, in cui le informazioni sui metadati sono rese automaticamente disponibili.

Puoi modificare i metadati rilevati automaticamente, ad esempio il nome della tabella o lo schema, utilizzando l'API dei metadati Dataplex.

Visualizza le tabelle e i set di file rilevati

Puoi cercare le tabelle e i set di file rilevati nella visualizzazione Ricerca di Dataplex nella console Google Cloud.

Apri Ricerca

Per risultati di ricerca più accurati, utilizza filtri specifici per Dataplex, come nomi di lake e zone dati. Nell'elenco dei filtri vengono visualizzati i primi 50 elementi per facet. Puoi trovare ulteriori elementi usando la casella di ricerca.

Ogni voce contiene metadati tecnici e operativi dettagliati.

Dalla pagina dei dettagli della voce, puoi eseguire una query sulla tabella in BigQuery e visualizzare i dettagli della registrazione Dataproc Metastore corrispondenti.

Se una tabella Cloud Storage può essere pubblicata in BigQuery come tabella esterna, vedrai quanto segue nella visualizzazione dei dettagli della voce:

  • Riferimenti delle tabelle esterne BigQuery
  • Un pulsante Apri in BigQuery per iniziare ad analizzare i dati in BigQuery.

Le voci di metadati Dataplex sono direttamente visibili e disponibili per la ricerca in Data Catalog. Per saperne di più, consulta la Guida di riferimento alle ricerche di Data Catalog.

Tutte le voci rilevate possono essere visualizzate tramite l'API Dataplex metadata.

Azioni di rilevamento

Ogni volta che vengono rilevati problemi relativi ai dati durante le scansioni, il rilevamento genera le seguenti azioni dell'amministratore.

Formato dei dati non valido

Le azioni includono:

  • Formato dei dati incoerente in una tabella. Ad esempio, i file di formati diversi esisteno con lo stesso prefisso di tabella.

  • Formato dei dati non valido nelle zone curate (dati non nei formati Avro, Parquet o ORC).

Schema non compatibile

Le azioni includono:

  • Uno schema rilevato da Discovery non è compatibile con lo schema della tabella attiva nell'API dei metadati in Dataproc Metastore. Lo schema A e lo schema B sono incompatibili se:

    • A e B condividono campi con lo stesso nome ma con tipi di dati diversi e incompatibili. Ad esempio stringa e numero intero.

    • A e B non hanno campi sovrapposti.

    • A e B hanno almeno un campo non nullo non trovato nell'altro schema.

  • Deviazione dello schema rispetto a uno schema gestito dall'utente nella zona selezionata.

Definizione della partizione non valida

Le azioni includono:

  • Denominazione delle partizioni incoerente. Ad esempio, gs://sales_data/year=2020/month=10/day=01 e gs://sales_data/year=2020/region=us.

  • Denominazione delle partizioni in stile non Hive nella zona dati selezionata. Ad esempio, gs://sales_data/2020/10/01 anziché gs://sales_data/year=2020/month=10/day=01.

Dati mancanti

Le azioni includono:

  • Nella zona dati curata, i dati sottostanti per una tabella o un set di file registrato non esistono più. In altre parole, è stato rilevato e registrato un set di file o una tabella di zone curate, ma in seguito i relativi dati sottostanti sono stati eliminati. Puoi risolvere il problema reintegrando i dati o eliminando la voce dei metadati.

Risolvi le azioni di rilevamento

I dati con azioni vengono controllati dalle successive analisi del rilevamento. Una volta risolto il problema che attiva l'azione, l'azione viene risolta automaticamente dalla successiva scansione del rilevamento pianificata.

Altre azioni

Oltre alle azioni di rilevamento precedenti, esistono altri tre tipi di azioni relative allo stato delle risorse e alle propagazione dei criteri di sicurezza in Dataplex.

  • Risorsa mancante: non è stato trovato il bucket o il set di dati sottostante corrispondente a un asset esistente.

  • Risorsa non autorizzata: Dataplex non dispone di autorizzazioni sufficienti per eseguire il rilevamento o applicare criteri di sicurezza al bucket o al set di dati gestito da Dataplex

  • Problemi con la propagazione dei criteri di sicurezza: non è stato possibile propagare i criteri di sicurezza specificati per un determinato lake, zona o asset ai bucket o ai set di dati sottostanti. Sebbene tutte le altre azioni siano a livello di asset, questo tipo di azione potrebbe essere aumentato a livello di lake, zona e asset.

Questi tipi di azioni vengono risolti automaticamente quando i problemi sottostanti relativi alla configurazione delle risorse o della sicurezza vengono corretti.

Domande frequenti

Cosa devo fare se lo schema dedotto da Discovery non è corretto?

Se lo schema dedotto è diverso da quello previsto per una determinata tabella, puoi eseguirne l'override aggiornando i metadati utilizzando l'API metadata. Assicurati di impostare userManaged su true in modo che la modifica non venga sovrascritta nelle analisi di rilevamento successive.

Come faccio a escludere file da una scansione del rilevamento?

Per impostazione predefinita, Discovery esclude dall'analisi determinati tipi di file, tra cui:

  • _SUCCESS
  • _started
  • _committed
  • _metadata, _METADATA, _Metadata
  • _common_metadata, _COMMON_METADATA
  • File che iniziano con README o readme
  • Directory che iniziano con base_, delta_, delete_delta_, bucket_, seguite da un numero
  • Directory che iniziano con .

Puoi specificare ulteriori pattern di inclusione o esclusione utilizzando la configurazione del rilevamento a livello di zona o di asset oppure utilizzando l'API metadata.

Che cosa devo fare se il raggruppamento delle tabelle rilevato da Discovery è troppo granulare?

Se le tabelle rilevate da Discovery sono a un livello più granulare rispetto al percorso principale della tabella, ad esempio ogni singola partizione è registrata come tabella, i motivi potrebbero essere diversi:

  • Esistono differenze di formato, ad esempio una combinazione di file Avro e Parquet, nel percorso principale della tabella previsto, che suddividono la tabella in raggruppamenti più piccoli.

  • Esistono diversi tipi di incompatibilità dello schema nel percorso principale della tabella previsto, che suddividono la tabella in raggruppamenti più piccoli.

Puoi risolvere il problema in uno dei seguenti modi:

  • Correggi le differenze di formato o di schema in modo che tutti i file nello stesso percorso radice della tabella abbiano un formato coerente e uno schema compatibile.

  • Escludi i file eterogenei utilizzando la configurazione di pattern di esclusione come parte della configurazione zona / asset o dell'API dei metadati.

Dopo aver eseguito uno dei passaggi correttivi, nella successiva scansione del rilevamento, si verifica quanto segue:

  • Le tabelle di livello inferiore esistenti vengono rimosse automaticamente dall'API Dataplex Metadata, da BigQuery, da Dataproc Metastore e da Data Catalog.
  • Viene invece creata una nuova tabella di livello superiore con il percorso principale della tabella previsto.

Come si specificano i nomi delle tabelle?

Puoi specificare i nomi delle tabelle utilizzando l'API metadata.

Che cosa succede se creo le tabelle manualmente in Dataproc Metastore o BigQuery?

Se il rilevamento è abilitato per un determinato asset, non è necessario registrare manualmente le voci in Dataproc Metastore o BigQuery.

Puoi definire manualmente il nome della tabella, lo schema e le definizioni delle partizioni, disattivando Dataplex Discovery. In alternativa, procedi nel seguente modo:

  1. Crea una tabella specificando solo le informazioni richieste, come il percorso radice della tabella.
  2. Utilizza Dataplex Discovery per completare il resto dei metadati, come le definizioni dello schema e delle partizioni.
  3. Mantieni aggiornati i metadati.

Che cosa devo fare se la mia tabella non viene visualizzata in BigQuery?

Mentre i metadati Dataplex sono tutti registrati centralmente nell'API metadata, solo le tabelle Cloud Storage compatibili con BigQuery vengono pubblicate in BigQuery come tabelle esterne. Come parte dei dettagli delle voci delle tabelle nell'API metadata, puoi trovare un indicatore di compatibilità BigQuery che indica quali entità sono state pubblicate in BigQuery e perché.

Che cosa succede dopo?