How to Run the Connector Externally
To run the Ingestion via the UI you’ll need to use the OpenMetadata Ingestion Container, which comes shipped with custom Airflow plugins to handle the workflow deployment. If, instead, you want to manage your workflows externally on your preferred orchestrator, you can check the following docs to run the Ingestion Framework anywhere.External Schedulers
Get more information about running the Ingestion Framework Externally
Requirements
The Glue connector ingests metadata through AWS Boto3 Client. We will ingest Workflows, its jobs and their run status. The user must have the following permissions for the ingestion to run successfully:glue:ListWorkflowsglue:GetWorkflowglue:GetJobRuns
glue:GetJobs3:GetObjecton the bucket that holds the job scriptsglue:GetConnection, for jobs that use a Java Database Connectivity (JDBC) connection
Python Requirements
Use Python 3.10 or later. Python 3.12 is recommended, because it is what the OpenMetadata 2.0 ingestion images use. To confirm the supported range for your release, check theRequires-Python metadata of that release’s openmetadata-ingestion package.
To run the Glue ingestion, you will need to install:
Lineage
The Glue connector creates lineage from the tables that a Glue job reads to the tables that it writes, including Snowflake tables, and records the Glue workflow as the pipeline of each edge. It reads only jobs that belong to a Glue workflow. OpenMetadata creates an edge only when both ends are already ingested, so ingest the Snowflake service first. OpenMetadata reads the Snowflake sources and targets from the job’s Glue Studio nodes. If the job has no Studio nodes, it reads the job script instead:- Glue Studio nodes:
SnowflakeSourceandSnowflakeTargetnodes. OpenMetadata skips a node that has no table, such as a source that uses a query. - Job scripts: Python scripts that use
connection_type="snowflake"with the Gluefrom_optionscalls, or the Snowflake Spark connector withformat("snowflake"). OpenMetadata doesn’t read Scala scripts, so a Scala job produces no Snowflake lineage.
dbServiceNames under lineageInformation in sourceConfig.config. When the list is empty, OpenMetadata searches all database services.
OpenMetadata takes the database, schema, and table from the node or from the script. In a script, the dbtable option accepts TABLE, SCHEMA.TABLE, or DB.SCHEMA.TABLE. A database or schema that the script sets at run time, for example from a job parameter, stays unset.
OpenMetadata matches the database.schema.table name first, then schema.table. It uses the table name alone only when the script doesn’t set a schema. OpenMetadata links the job only when exactly one table matches. If several tables match, or no table matches, OpenMetadata skips the table and logs a warning.