ה-API של מעקב מקורות נתונים יכול לקבל מידע על מקורות נתונים ממערכות שמשולבות עם OpenLineage, תקן פתוח לאיסוף מקורות נתונים.
כששולחים אירועים בפורמט OpenLineage אל Data Lineage API באמצעות השיטה
ProcessOpenLineageRunEvent, Data Lineage API ממפה מאפיינים מההודעה בפורמט OpenLineage למאפיינים תואמים ב-Data Lineage API.
במאמר הזה מופיעות טבלאות הפניה למיפויים האלה.
מיפוי מאפיינים
המיפוי של מאפייני OpenLineage למאפייני Data Lineage API ב-method של ProcessOpenLineageRunEvent API בארכיטקטורת REST הוא כדלקמן:
| מאפייני API של Data Lineage | מאפיינים של OpenLineage |
|---|---|
| Process.name | projects/PROJECT_NUMBER/locations/LOCATION/processes/HASH_OF_NAMESPACE_AND_NAME |
| Process.displayName | Job.namespace + ":" + Job.name |
| Process.attributes | Job.facets (ראו נתונים מאוחסנים) |
| Run.name | projects/PROJECT_NUMBER/locations/LOCATION/processes/HASH_OF_NAMESPACE_AND_NAME/runs/HASH_OF_RUNID |
| Run.displayName | Run.runId |
| Run.attributes | Run.facets (ראו נתונים מאוחסנים) |
| Run.startTime | eventTime |
| Run.endTime | eventTime |
| Run.state | eventType |
| LineageEvent.name | projects/PROJECT_NUMBER/locations/LOCATION/processes/HASH_OF_NAMESPACE_AND_NAME/runs/HASH_OF_RUNID/lineageEvents/HASH_OF_JOB_RUN_INPUT_OUTPUTS_OF_EVENT (לדוגמה, projects/11111111/locations/us/processes/1234/runs/4321/lineageEvents/111-222-333) |
| LineageEvent.EventLinks.source | קלט (fqn הוא שרשור של מרחב השמות והשם) |
| LineageEvent.EventLinks.target | פלט (fqn הוא שרשור של מרחב השמות והשם) |
| LineageEvent.startTime | eventTime |
| LineageEvent.endTime | eventTime |
| requestId | מוגדר על ידי המשתמש בשיטה |
מיפוי FQN
בטבלה הבאה מוצגות דוגמאות לזוגות של שם ומרחב שמות של OpenLineage למערכות שונות, והשמות המלאים (FQN) המקבילים שלהם ב-Dataplex Universal Catalog:
| מערכת | מרחב השמות OpenLineage | שם OpenLineage | Dataplex Universal Catalog FQN |
|---|---|---|---|
| Athena | awsathena://athena.{region_name}.amazonaws.com |
|
|
| AWS Glue | arn:aws:glue:{region}:{account id} |
table/{database name}/{table name} |
aws_glue:table:{region}.{account id}.{database name}.{table name} |
| Azure Cosmos DB | azurecosmos://{host}/dbs/{database} |
colls/{table} |
|
| Azure Data Explorer | azurekusto://{host}.kusto.windows.net |
{database}/{table} |
|
| Azure Synapse | sqlserver://{host}:{port} |
|
לא נתמך |
| BigQuery | bigquery |
|
|
| Cassandra | cassandra://{host}:{port} |
|
|
| MySQL | mysql://{host}:{port} |
|
|
| CrateDB | crate://{host}:{port} |
{database}.{schema}.{table} |
לא נתמך |
| DB2 | db2://{host}:{port} |
|
|
| כוורת | hive://{host}:{port} |
{database}.{table} |
לא נתמך |
| MSSQL | mssql://{host}:{port} |
{database}.{schema}.{table} |
לא נתמך |
| OceanBase | oceanbase://{host}:{port} |
{database}.{table} |
לא נתמך |
| Oracle | oracle://{host}:{port} |
{serviceName}.{schema}.{table} or {sid}.{schema}.{table} |
|
| Postgres | postgres://{host}:{port} |
|
|
| Teradata | teradata://{host}:{port} |
{database}.{table} |
לא נתמך |
| Redshift | redshift://{cluster_identifier}.{region_name}:{port} |
|
|
| Snowflake | snowflake://{organization name}-{account name} or snowflake://{account-locator}(.{compliance})(.{cloud_region_id})(.{cloud}) |
|
|
| Spanner | spanner://{projectId}:{instanceId} |
{database}.{schema}.{table} |
נתמך ב-Dataplex Universal Catalog, אבל לא נתמך ב-Data lineage |
| Trino | trino://{host}:{port} |
|
|
| ABFSS (Azure Data Lake Gen2) | abfss://{container name}@{service name}.dfs.core.windows.net |
{path} |
|
| DBFS (מערכת קבצים של Databricks) | dbfs://{workspace name} |
{path} |
|
| Cloud Storage | gs://{bucket name} |
{object key} |
|
| HDFS | hdfs://{namenode host}:{namenode port} |
{path} |
|
| Kafka | kafka://{bootstrap server host}:{port} |
{topic} |
kafka:{serverHostWithPort}.{topicId} |
| מערכת הקבצים המקומית | file |
{path} |
filesystem:localhost.{path} |
| מערכת קבצים מרוחקת | file://{host} |
{path} |
filesystem:{hostWithPort}.{path} |
| S3 | s3://{bucket name} |
{object key} |
s3a ו-s3n, וממירה אותן ל-s3
|
| WASBS (Azure Blob Storage) | wasbs://{container name}@{service name}.dfs.core.windows.net |
{object key} |
|
| נושא Pub/Sub | pubsub |
topic:{projectId}:{topicId} |
pubsub:topic:{projectId}.{topicId} |
| מינוי ל-Pub/Sub | pubsub |
subscription:{projectId}:{subscriptionId} |
pubsub:subscription:{projectId}.{subscriptionId} |
פורמטים קבילים נוספים
למרות ש-OpenLineage לא מגדיר זוגות סטנדרטיים של namespace/name למערכות הבאות, Data Lineage API מקבל אירועי שושלת עבורן כשהם מעוצבים כמו שמתואר בטבלה הבאה. משאבים שמפנים אליהם בהודעות OpenLineage עם מרחב השמות custom מפורשים כשמות מוגדרים במלואם בהתאמה אישית.
| מערכת | מרחב השמות OpenLineage | שם OpenLineage | Dataplex Universal Catalog FQN |
|---|---|---|---|
| שם FQN מותאם אישית | custom |
{some reference} |
custom:{someReference} |
| Dataproc Metastore | dataproc_metastore |
|
|
המאמרים הבאים
- איך משלבים עם OpenLineage
- לפרטים נוספים, אפשר לעיין בחומר העזר בנושא שמות שמוגדרים במלואם.
- מידע נוסף על Data Lineage API
- איך צופים בפרטי שושלת