
* Doc: Adding SSL Docs for Messaging & Dashboard * Docs: Updating Broken Links in Docs --------- Co-authored-by: Prajwal Pandit <prajwalpandit@Prajwals-MacBook-Air.local>
5.6 KiB
title | slug |
---|---|
Run the DB2 Connector Externally | /connectors/database/db2/yaml |
{% connectorDetailsHeader name="DB2" stage="PROD" platform="OpenMetadata" availableFeatures=["Metadata", "Data Profiler", "Data Quality", "View Lineage", "View Column-level Lineage", "dbt"] unavailableFeatures=["Query Usage", "Owners", "Tags", "Stored Procedures"] / %}
In this section, we provide guides and references to use the DB2 connector.
Configure and schedule DB2 metadata and profiler workflows from the OpenMetadata UI:
{% partial file="/v1.5/connectors/external-ingestion-deployment.md" /%}
Requirements
To create a new Db2 user please follow the guidelines mentioned here
Db2 user must have the below permissions to ingest the metadata:
SELECT
privilege onSYSCAT.SCHEMATA
to fetch the metadata of schemas.
-- Grant SELECT on tables for schema metadata
GRANT SELECT ON SYSCAT.SCHEMATA TO USER_NAME;
SELECT
privilege onSYSCAT.TABLES
to fetch the metadata of tables.
-- Grant SELECT on tables for table metadata
GRANT SELECT ON SYSCAT.TABLES TO USER_NAME;
SELECT
privilege onSYSCAT.VIEWS
to fetch the metadata of views.
-- Grant SELECT on tables for view metadata
GRANT SELECT ON SYSCAT.VIEWS TO USER_NAME;
Profiler & Data Quality
Executing the profiler workflow or data quality tests, will require the user to have SELECT
permission on the tables/schemas where the profiler/tests will be executed. More information on the profiler workflow setup can be found here and data quality tests here.
Python Requirements
{% partial file="/v1.5/connectors/python-requirements.md" /%}
To run the DB2 ingestion, you will need to install:
pip3 install "openmetadata-ingestion[db2]"
Metadata Ingestion
All connectors are defined as JSON Schemas. Here you can find the structure to create a connection to DB2.
In order to create and run a Metadata Ingestion workflow, we will follow the steps to create a YAML configuration able to connect to the source, process the Entities if needed, and reach the OpenMetadata server.
The workflow is modeled around the following JSON Schema
1. Define the YAML Config
This is a sample config for DB2:
{% codePreview %}
{% codeInfoContainer %}
Source Configuration - Service Connection
{% codeInfo srNumber=1 %}
username: Specify the User to connect to DB2. It should have enough privileges to read all the metadata.
{% /codeInfo %}
{% codeInfo srNumber=2 %}
password: Password to connect to DB2.
{% /codeInfo %}
{% codeInfo srNumber=3 %}
hostPort: Enter the fully qualified hostname and port number for your DB2 deployment in the Host and Port field.
{% /codeInfo %}
{% codeInfo srNumber=4 %}
database: Database of the data source.
{% /codeInfo %}
{% partial file="/v1.5/connectors/yaml/database/source-config-def.md" /%}
{% partial file="/v1.5/connectors/yaml/ingestion-sink-def.md" /%}
{% partial file="/v1.5/connectors/yaml/workflow-config-def.md" /%}
Advanced Configuration
{% codeInfo srNumber=5 %}
Connection Options (Optional): Enter the details for any additional connection options that can be sent to database during the connection. These details must be added as Key-Value pairs.
{% /codeInfo %}
{% codeInfo srNumber=6 %}
Connection Arguments (Optional): Enter the details for any additional connection arguments such as security or protocol configs that can be sent to database during the connection. These details must be added as Key-Value pairs.
- In case you are using Single-Sign-On (SSO) for authentication, add the
authenticator
details in the Connection Arguments as a Key-Value pair as follows:"authenticator" : "sso_login_url"
{% /codeInfo %}
{% /codeInfoContainer %}
{% codeBlock fileName="filename.yaml" %}
source:
type: db2
serviceName: local_db2
serviceConnection:
config:
type: Db2
username: openmetadata_user
password: openmetadata_password
hostPort: localhost:5432
# databaseSchema: schema
# connectionOptions:
# key: value
# connectionArguments:
# key: value
{% partial file="/v1.5/connectors/yaml/database/source-config.md" /%}
{% partial file="/v1.5/connectors/yaml/ingestion-sink.md" /%}
{% partial file="/v1.5/connectors/yaml/workflow-config.md" /%}
{% /codeBlock %}
{% /codePreview %}
{% partial file="/v1.5/connectors/yaml/ingestion-cli.md" /%}
{% partial file="/v1.5/connectors/yaml/data-profiler.md" variables={connector: "db2"} /%}
{% partial file="/v1.5/connectors/yaml/data-quality.md" /%}
dbt Integration
{% tilesContainer %}
{% tile icon="mediation" title="dbt Integration" description="Learn more about how to ingest dbt models' definitions and their lineage." link="/connectors/ingestion/workflows/dbt" /%}
{% /tilesContainer %}