Dati di catalogazione per una lakehouse
Per fornire un accesso senza interruzioni a tutta la piattaforma è necessario un server di catalogo affidabile
Utilizzo di AWS Glue come catalogo per Databricks
Per individuare i dati in tutti i servizi, è necessario un catalogo efficace per poter trovare e accedere ai dati. Il servizio AWS Glue è un metastore serverless Hive compatibile con Apache che consente di condividere facilmente i metadati delle tabelle tra servizi AWS, applicazioni o account AWS. Databricks e Delta Lake sono integrati con AWS Glue per individuare i dati nella tua organizzazione, registrare i dati in Delta Lake e individuare i dati tra le istanze di Databricks.
Vantaggi
Databricks è preintegrato con AWS Glue
Semplice
Semplifica la gestibilità utilizzando lo stesso catalogo AWS Glue su più spazi di lavoro Databricks.
Sicurezza
Sicurezza integrata utilizzando il pass-through delle credenziali di gestione delle identità e degli accessi per i metadati in AWS Glue. Per una spiegazione dettagliata, vedere il blog di Databricks che introduce il pass-through delle credenziali AWS IAM di Databricks.
Collaborativa
Fornisce un accesso più semplice ai metadati nei servizi Amazon e l'accesso al catalogo dati in AWS Glue.
Integrazione di Databricks Delta Lake con i servizi principali di AWS
Questa implementazione di riferimento illustra l'integrazione di Databricks Delta Lake in posizione unica con i servizi principali AWS per aiutarti a risolvere le sfide più complesse data lake . Delta Lake funziona su S3 ed è integrato con Amazon Kinesis, AWS Glue, Amazon Athena, Amazon Redshift e Amazon QuickSight, solo per citarne alcuni.
Se non conosci Delta Lake, puoi saperne di più qui.
Amazon Athena e presto supporto per Delta Lake
Quando una tabella esterna viene definita nel Hive metastore utilizzando file manifest, Presto e Amazon Athena possono utilizzare l'elenco dei file nel file manifest anziché trovare i file tramite l'elenco delle directory. È possibile eseguire query su queste tabelle proprio come le tabelle con dati archiviati in formati come Parquet.
Integrazione di Databricks con AWS Glue
Passo 1
Come configurare un cluster Databricks per accedere al catalogo AWS Glue
Lanciare
Per prima cosa avvia i Databricks cluster di calcolo con il ruolo AWS Glue Catalog IAM necessario. Il ruolo IAM e i requisiti della policy sono chiaramente delineati in modo passo passo nella documentazione di Databricks AWS Glue as Metastore.
In questo esempio, crea un ruolo AWS IAM chiamato Field_Glue_Role, che ha anche l'accesso delegato al mio bucket S3. Collega il ruolo alla configurazione del cluster, come illustrato nel video dimostrativo.
Aggiornare
Successivamente, le proprietà di configurazioneSpark della configurazione dei cluster devono essere impostate prima dell'avvio dei cluster, come mostrato nel video su come aggiornare.
Scopri come aggiornare le Databricks proprietà di configurazione dei cluster Spark
Passo 2
HConfigurazione del database AWS Glue utilizzando un Databricks Notebook
Allegare
Prima di creare un database AWS Glue, collega i cluster al tuo Notebook, creato nel passaggio precedente, e testa la tua configurazione con il comando mostrato qui.
Convalidare
Quindi verifica che lo stesso elenco di database venga visualizzato utilizzando la console AWS Glue ed elenca i database.
Verificare
Crea un nuovo database AWS Glue direttamente dal Notebook e verifica che il nuovo database AWS Glue sia stato creato correttamente emettendo nuovamente SHOW DATABASES. Il database AWS Glue può essere visualizzato anche tramite il riquadro dati.
Passo 3
Crea una tabella Delta Lake e un file manifest utilizzando lo stesso metastore
Creare e catalogare
Crea e cataloga la tabella direttamente dal Notebook nel AWS Glue.Data Catalog Consulta Popolamento del AWS Glue Data Catalog per creare e catalogare tabelle utilizzando i crawler.
Il set di dati dimostrativi qui proviene da un sito di consigli sui film chiamato MovieLens, che comprende le valutazioni dei film. Crea un DataFrame con questo codice Python.
Registrati
Quindi registra DataFrame come tabella temporanea e accedi utilizzando questo comando SQL.
Delta Lake
Ora crea una tabella Delta Lake utilizzando la tabella temporanea creata nel passaggio precedente e questo comando SQL.
Nota: è molto semplice creare una tabella Delta Lake come descritto nella Guida rapida di Delta Lake
Generazione di un manifest per Amazon Athena
Ora genera il file manifest richiesto da Amazon Athena seguendo i passaggi seguenti.
1. Genera manifest eseguendo questo metodo Scala. Ricordati di prefissare la cella con se hai creato %scala un Python, SQL o R.Notebook
2. Crea una tabella nel Hive metastore connesso ad Athena utilizzando il formato speciale SymlinkTextInputFormat e il percorso del file manifest.
Nel codice di esempio, il file manifest viene creato nel percorso del file s3a://aws-airlifts/movies_delta/_symlink_format_manifest/.
Passo 4
Interroga la tabella Delta Lake utilizzando Amazon Athena
Amazon Amazzonia
Athena è un servizio serverless che non necessita di alcuna infrastruttura da gestire e mantenere. Pertanto, è possibile eseguire query sulla tabella Delta senza la necessità di eseguire un cluster Databricks .
Dalla console Amazon Athena, seleziona il database, quindi visualizza l'anteprima della tabella come mostrato nel video.
Conclusione
L'integrazione di AWS Glue fornisce una potente strategia di metastore serverless per tutte le aziende che utilizzano l'ecosistema AWS. Aumenta l'affidabilità del data Lake con Delta Lake e fornisci un accesso ai dati senza interruzioni e serverless grazie all'integrazione con Amazon Athena. La piattaforma Databricks Lakehouse alimenta la strategia data lake su AWS che consente ad analisti di dati, Data Engineer e data scientists di ottenere un accesso ai dati performante e affidabile.