Dati rilevati

Questa guida spiega come abilitare e utilizzare il rilevamento di Knowledge Catalog (in precedenza Dataplex Universal Catalog). Le scansioni di rilevamento estraggono i metadati dai dati in un data lake e li registrano in Dataproc Metastore, BigQuery e Data Catalog (ritirato) per l'analisi, la ricerca e l'esplorazione.

Panoramica

Per ogni asset di Knowledge Catalog con il rilevamento abilitato, Knowledge Catalog esegue le seguenti operazioni:

  • Scansiona i dati associati all'asset.
  • Raggruppa i file strutturati e semistrutturati in tabelle.
  • Raccoglie i metadati tecnici, come il nome della tabella, lo schema e la definizione della partizione.

Per i dati non strutturati, come immagini e video, il rilevamento di Knowledge Catalog rileva e registra automaticamente i gruppi di file che condividono il tipo di media come set di file. Ad esempio, se gs://images/group1 contiene immagini GIF e gs://images/group2 contiene immagini JPEG, il rilevamento di Knowledge Catalog rileva e registra due set di file. Per i dati strutturati, come Avro, il rilevamento rileva i file solo se si trovano in cartelle che contengono lo stesso formato dei dati e schema.

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

Il rilevamento supporta i seguenti formati di dati strutturati e semistrutturati:

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

  • Compressione interna per questi formati:

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

    • gzip
    • bzip2

Configurazione rilevamento

Il rilevamento è abilitato per impostazione predefinita quando crei una nuova zona o un nuovo asset. Puoi disabilitare 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 sostituire le impostazioni di rilevamento a livello di asset.

Di seguito sono riportate le opzioni di configurazione del rilevamento disponibili a livello di zona e di asset:

  • Rilevamento attivo e disattivato

  • Pianificazione del rilevamento: questa opzione può essere impostata su una pianificazione predefinita, ad esempio oraria o giornaliera, o su una pianificazione personalizzata definita dal formato cron. I nuovi asset vengono scansionati quando vengono aggiunti. Per ulteriori informazioni, consulta Configurare le pianificazioni cron. Puoi impostare la pianificazione del rilevamento tra 60 minuti e 31 giorni.

  • Pattern di inclusione o esclusione: definisci quali file 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: ti consentono di fornire informazioni aggiuntive sui dati semistrutturati, come CSV e JSON, per migliorare l'accuratezza dei risultati del rilevamento.

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

      • Delimitatore: questo campo accetta un carattere, ad eccezione di \r e \n. Se viene fornito più di un carattere, viene utilizzato solo il primo carattere della stringa. Se non viene fornito, il rilevamento 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, il rilevamento esegue l'inferenza dell'intestazione e, se viene rilevata un'intestazione, il rilevamento estrae i nomi delle colonne dall'intestazione e reimposta il valore su 1.

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

      • Disattiva l'inferenza del tipo: questo campo accetta un valore booleano. Per impostazione predefinita è impostato su false. Per i dati CSV, se disabiliti l'inferenza del tipo, tutte le colonne vengono registrate come stringhe.

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

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

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

Pubblicare i metadati

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

Ogni zona dati di Knowledge Catalog esegue il mapping a un set di dati in BigQuery o a un database in Dataproc Metastore, dove le informazioni sui metadati vengono rese disponibili automaticamente.

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

Visualizzare le tabelle e i set di file rilevati

Puoi cercare le tabelle e i set di file rilevati nella visualizzazione Cerca di Knowledge Catalog nella Google Cloud console.

Apri la ricerca

Per risultati di ricerca più accurati, utilizza i filtri specifici di Knowledge Catalog, come i nomi di lake e zone dati. Nell'elenco dei filtri vengono visualizzati i primi 50 elementi per sfaccettatura. Puoi trovare eventuali elementi aggiuntivi utilizzando la casella di ricerca.

Ogni voce contiene metadati tecnici e operativi dettagliati.

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

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

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

Le voci dei metadati di Knowledge Catalog sono visibili e ricercabili direttamente in Data Catalog. Per saperne di più, consulta il riferimento alla ricerca in Data Catalog Search reference.

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

Azioni di rilevamento

Il rilevamento genera le seguenti azioni dell'amministratore ogni volta che vengono rilevati problemi relativi ai dati durante le scansioni.

Formato dei dati non valido

Le azioni includono le seguenti:

Schema non compatibile

Le azioni includono le seguenti:

  • Uno schema rilevato dal rilevamento non è compatibile con lo schema di tabella attivo nell'API dei metadati in Dataproc Metastore. Lo schema A e lo schema B non sono compatibili nei seguenti scenari:

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

    • A e B non hanno campi sovrapposti.

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

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

Definizione di partizione non valida

Le azioni includono le seguenti:

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

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

Dati mancanti

Le azioni includono le seguenti:

  • Nella zona dati organizzata, i dati sottostanti per una tabella o un set di file registrati non esistono più. In altre parole, è stata rilevata e registrata una zona curata o un set di file, ma in un secondo momento i dati sottostanti sono stati eliminati. Puoi risolvere questo problema reintegrando i dati o eliminando la voce dei metadati.

Risolvere le azioni di rilevamento

I dati con azioni vengono controllati dalle successive scansioni di rilevamento. Quando il problema che ha attivato l'azione viene risolto, l'azione viene risolta automaticamente dalla successiva scansione di rilevamento pianificata.

Altre azioni di rilevamento

Oltre alle azioni di rilevamento precedenti, esistono altri tre tipi di azioni correlate allo stato delle risorse e alle propagazioni delle policy di sicurezza in Knowledge Catalog.

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

  • Risorsa non autorizzata: Knowledge Catalog non dispone delle autorizzazioni sufficienti per eseguire il rilevamento o applicare le policy di sicurezza al bucket o al set di dati gestito da Knowledge Catalog

  • Problemi con la propagazione delle policy di sicurezza: le policy di sicurezza specificate per un determinato lake, zona o asset non sono state propagate correttamente ai bucket o ai set di dati sottostanti. Mentre tutte le altre azioni sono a livello di asset, questo tipo di azione può essere generato a livello di lake, zona e asset.

Questi tipi di azioni vengono risolti automaticamente quando vengono corretti i problemi relativi alla risorsa sottostante o alla configurazione di sicurezza.

Domande frequenti

Cosa devo fare se lo schema dedotto dal rilevamento non è corretto?

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

Come faccio a escludere i file da una scansione di rilevamento?

Per impostazione predefinita, il rilevamento esclude alcuni tipi di file dalla scansione, 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 pattern di inclusione o esclusione aggiuntivi utilizzando la configurazione del rilevamento a livello di zona o di asset oppure utilizzando l'API dei metadati.

Cosa devo fare se il raggruppamento delle tabelle rilevato dal rilevamento è troppo granulare?

Se le tabelle rilevate dal rilevamento sono a un livello più granulare rispetto al percorso principale della tabella, ad esempio ogni singola partizione viene registrata come tabella, potrebbero esserci diversi motivi:

  • Nel percorso principale della tabella previsto sono presenti differenze di formato, ad esempio una combinazione di file Avro e Parquet, che suddivide la tabella in raggruppamenti più piccoli.

  • Nel percorso principale della tabella previsto sono presenti diversi tipi di incompatibilità dello schema, che suddivide la tabella in raggruppamenti più piccoli.

Puoi risolvere questo problema in uno dei seguenti modi:

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

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

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

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

Come faccio a specificare i nomi delle tabelle?

Puoi specificare i nomi delle tabelle utilizzando l'API dei metadati.

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

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

Puoi definire manualmente il nome della tabella, lo schema e le definizioni delle partizioni, disattivando il rilevamento di Knowledge Catalog. In alternativa, puoi procedere nel seguente modo:

  1. Crea una tabella specificando solo le informazioni richieste, ad esempio il percorso principale della tabella.
  2. Utilizza il rilevamento di Knowledge Catalog per completare il resto dei metadati, come lo schema e le definizioni delle partizioni.
  3. Mantieni aggiornati i metadati.

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

Sebbene i metadati di Knowledge Catalog siano tutti registrati centralmente nell'API dei metadati, solo le tabelle Cloud Storage compatibili con BigQuery vengono pubblicate in BigQuery come tabelle esterne. Nei dettagli della voce della tabella nell' API dei metadati, puoi trovare un indicatore di compatibilità di BigQuery che indica quali entità vengono pubblicate in BigQuery e perché.

Limitazioni

  • Le tabelle esterne, incluse le tabelle esterne BigLake, non sono supportate dal rilevamento. Tuttavia, le tabelle esterne vengono automaticamente importate in Knowledge Catalog e puoi cercarle in Knowledge Catalog invece.

Prezzi

Knowledge Catalog addebita il rilevamento nell'ambito del livello di elaborazione standard. Per ulteriori informazioni, consulta i prezzi dell'elaborazione standard di Knowledge Catalog.

Passaggi successivi