OpenLineage esercitazione sulle mappature
Questa esercitazione mostra, su uno scenario di esempio, come le mappature possono essere utilizzate per risolvere il problema della discendenza incompleta.
L'obiettivo di questa esercitazione è creare le mappature di OpenLineage per visualizzare i dati degli eventi di OpenLineage sul lignaggio. Di conseguenza, il lineage, che è incompleto e non accurato prima di completare i passaggi, mostra un flusso di dati end-to-end corretto.
In questa esercitazione viene utilizzato il seguente evento OpenLineage :
{
"eventTime": "2025-08-21T10:03:33.616Z",
"schemaURL": "https://openlineage.io/spec/2-0-2/OpenLineage.json#/$defs/RunEvent",
"eventType": "COMPLETE",
"job": {
"namespace": "custom_etl_tool",
"name": "workspace_name/folder_1/folder_2/job_name_1"
},
"inputs": [
{
"namespace": "s3://mybigbucket.com",
"name": "sales/public/orders",
"facets": {
"schema": {
"fields": [
{
"name": "my_one_field",
"type": "integer"
}
]
}
}
}
],
"outputs": [
{
"namespace": "mongodb://analytics-db.company.com:27017",
"name": "customerdb.mycollection.sales_summary",
"facets": {
"schema": {
"fields": [
{
"name": "my_one_field",
"type": "integer"
}
]
}
}
}
]
}
Questo evento contiene tre sezioni:
Job
Questa sezione rappresenta il processo che collega i due set di dati. Presenta i seguenti elementi:
- Spazio dei nomi:
custom_etl_tool - Nome:
workspace_name/folder_1/folder_2/job_name_1Questo lavoro utilizza uno strumento ETL personalizzato. Non è chiaro su quale tecnologia venga eseguito il lavoro (ad esempio Python, o Java), quindi è necessaria una mappatura con una tecnologia personalizzata.
Input
Questa sezione rappresenta i set di dati che vengono letti. Presenta i seguenti elementi:
- Spazio dei nomi:
s3://mybigbucket.com - Nome:
sales/public/ordersQuesto set di dati utilizza una tecnologia nota e supportata, Amazon S3.
Output
Questa sezione rappresenta i set di dati che vengono scritti. Presenta i seguenti elementi:
- Spazio dei nomi:
mongodb://analytics-db.company.com:27017 - Nome:
customerdb.mycollection.sales_summaryQuesto set di dati utilizza una tecnologia nota, ma non supportata, MongoDB,, pertanto è necessaria una mappatura.
Prerequisiti
Sono richiesti i seguenti prerequisiti:
- È necessario configurare il lineage dei dati.
- È necessario un progetto se si ricopre il ruolo di amministratore o di redattore.
- Per creare tecnologie e mappature è necessario disporre dell'autorizzazione Manage data lineage.
- È necessario creare le seguenti definizioni di origine dati:
- Una definizione di origine dati del tipo OpenLineage, con l'host
customETLtoolHost. - Una definizione di origine dati del tipo OpenLineage, con l'host
analytics-db.company.come la porta27017. - Una definizione di origine dati del tipo Amazon S3, con l'host
s3://mybigbucket.com.
- Una definizione di origine dati del tipo OpenLineage, con l'host
- Preparate il vostro evento OpenLineage. L'evento deve essere aggiunto nel formato JSON e compresso in un file.zip.
Si lavora con le mappature in Dati > Lineamento dei dati > Lineamento delle mappe > Mappa OpenLineage.
1. Facoltativo: Rivedere il lignaggio incompleto
Per capire meglio come le mappature migliorano la qualità del lignaggio, importate l'evento OpenLineage prima che vengano create le mappature.
- Nel progetto, passare alla scheda Assets e fare clic su New asset > Import metadata for data assets.
- Fornire un nome per l'importazione, ad esempio OpenLineage example event.
- Selezionare l'obiettivo Importa metadati del lignaggio.
- Nella sezione Origine dati, selezionare la definizione di origine dati OpenLineage con l'host
customETLtoolHost. - Nella sezione Aggiungi input da file, fare clic su Aggiungi. Caricare il file.zip con l'evento OpenLineage.
- È possibile definire altre opzioni di importazione dei metadati.
- Salva le tue modifiche.
Di conseguenza, la cronologia dei dati non è accurata. Gli spazi dei nomi sono mostrati come stringhe grezze, la struttura delle risorse non è corretta e vengono visualizzati segnaposti di tipo sconosciuto.
2. Esaminare una mappatura per il set di dati in ingresso
Rivedere la seguente sezione dell'evento:
{
"namespace": "s3://mybigbucket.com",
"name": "sales/public/orders"
.....
}
Lo spazio dei nomi contiene il prefisso s3://, che corrisponde a Amazon S3. Il campo del nome suggerisce che la struttura dei dati è una cartella/cartella/file. Poiché Amazon S3 è una tecnologia nota, viene già creata una mappatura predefinita per essa. È possibile selezionarla dall'elenco nella scheda Mappature attive e verificare la configurazione della mappatura. Cercare la s3:// mappatura.
Questa mappatura ha la seguente configurazione:
- Condizioni di mappatura:
- Ambito di applicazione delle regole: Insiemi di dati.
- Metodo di corrispondenza: Prefisso dello spazio dei nomi.
- Prefisso dello spazio dei nomi:
s3://
- Azioni di mappatura:
- Tipo di tecnologia: Amazon S3 (tipo predefinito, già definito).
- Definizione dell'origine dati: Assegnata automaticamente
3. Creare una mappatura per il lavoro
Rivedere la seguente sezione dell'evento:
{
"namespace": "custom_etl_tool",
"name": "workspace_name/folder_1/folder_2/job_name_1"
....
}
Trattandosi di uno strumento ETL personalizzato, è necessario creare una mappatura.
Completa questa procedura:
- Nella scheda Mappature attive, fare clic su Crea mappatura.
- Nella sezione Ambito della regola, è necessario selezionare il tipo di spazio dei nomi. Lo strumento ETL personalizzato è referenziato nella sezione del lavoro dell'evento, quindi questa regola di mappatura si basa sullo spazio dei nomi del lavoro. Selezionare lo spazio dei nomi dei lavori.
- Quindi, decidere il metodo di corrispondenza degli spazi dei nomi. Il valore di questo namespace di lavoro nell'evento è
custom_etl_tool. Questo valore è statico e non contiene un nome di host. È necessario fornire il valore dell'intero spazio dei nomi. Selezionate il valore Namespace exact e inseritecustom_etl_toolnel campo value. - La tecnologia dello strumento ETL personalizzato non esiste. Nella pagina successiva, nella sezione Tipo di tecnologia, fare clic su Seleziona > Nuova tecnologia. Fornire i seguenti dettagli:
- Nome della tecnologia: Strumento ETL personalizzato
- Nome del ramo: Default
- Tipo di tecnologia: Strumento ETL
- Gerarchia delle attività Numero di livelli: 3
- Nomi dei livelli gerarchici: Spazio di lavoro, Cartella, Lavoro
- Livello di attività ricorsivo: Cartella
- Selezionare una definizione di origine dati. Cercare la definizione dell'origine dati OpenLineage con l'host
customETLtoolHostcreato in precedenza. - Salvare la mappatura.
4. Creare una mappatura per il set di dati di output
Rivedere la seguente sezione dell'evento:
{
"namespace": "mongodb://analytics-db.company.com:27017",
"name": "customerdb.mycollection.sales_summary"
....
}
Lo spazio dei nomi contiene il prefisso mongodb://, che corrisponde a MongoDB. Il campo del nome suggerisce che la struttura dei dati è un database/raccolta/documento. Questo tipo di tecnologia non è supportato per impostazione predefinita, pertanto è necessaria una nuova tecnologia personalizzata.
Creare una mappatura per questo set di dati:
- Nella scheda Mappature attive, fare clic su Crea mappatura.
- Nella sezione Ambito della regola, selezionare lo spazio dei nomi del set di dati (input, output).
- Lo spazio dei nomi contiene il prefisso
mongodb://e i valori di host e porta. Selezionare il prefisso dello spazio dei nomi come metodo di corrispondenza. Nel campo Prefisso dello spazio dei nomi, inseriremongodb://. - Nella pagina successiva, nella sezione Tipo di tecnologia, fare clic su Seleziona > Nuova tecnologia. Fornire i seguenti dettagli:
- Nome della tecnologia: MongoDB
- Nome della filiale: Doc
- Tipo di tecnologia: Database
- Gerarchia delle attività Numero di livelli: 3
- Nomi dei livelli di gerarchia: Database, Raccolta, Documento
- Livello di attività ricorsivo: Nessuno
- Nella sezione di definizione dell'origine dati, selezionare l'opzione Assegna automaticamente. In base al valore del prefisso statico e ai valori dinamici di host e porta, tutti i dati sono associati alla definizione dell'origine dati OpenLineage con host
analytics-db.company.come porta27017.
5. Eseguire l'importazione dei metadati
Creare ed eseguire un'importazione di metadati con l'evento di esempio OpenLineage per vedere come viene modificato il lignaggio quando vengono elaborate le nuove regole di mappatura.
- Nel progetto, passare alla scheda Assets e fare clic su New asset > Import metadata for data assets.
- Fornire un nome per l'importazione, ad esempio OpenLineage example event.
- Selezionare l'obiettivo Importa metadati del lignaggio.
- Nella sezione Origine dati, selezionare la definizione di origine dati OpenLineage con l'host
customETLtoolHost. - Nella sezione Aggiungi input da file, fare clic su Aggiungi. Caricare il file.zip con l'evento OpenLineage.
- È possibile definire altre opzioni di importazione dei metadati.
- Salva le tue modifiche.
6. Rivedere il lignaggio
Quando le nuove mappature vengono elaborate, il lignaggio contiene dati accurati:
- Amazon S3 il set di dati viene risolto nella struttura Bucket > Folder > File.
- MongoDB il set di dati viene risolto nella struttura Database > Collection > Document.
- I lavori dello strumento ETL personalizzato vengono aggiunti sotto una struttura logica Spazio di lavoro > Cartella > Cartella > Lavoro.