diff --git a/openmetadata-docs/content/partials/v1.4/connectors/database/connectors-list.md b/openmetadata-docs/content/partials/v1.4/connectors/database/connectors-list.md index 8e4c61b32f6..c5b91f20595 100644 --- a/openmetadata-docs/content/partials/v1.4/connectors/database/connectors-list.md +++ b/openmetadata-docs/content/partials/v1.4/connectors/database/connectors-list.md @@ -33,6 +33,7 @@ {% connectorInfoCard name="SingleStore" stage="PROD" href="/connectors/database/singlestore" platform="OpenMetadata" / %} {% connectorInfoCard name="Snowflake" stage="PROD" href="/connectors/database/snowflake" platform="OpenMetadata" / %} {% connectorInfoCard name="SQLite" stage="PROD" href="/connectors/database/sqlite" platform="OpenMetadata" / %} +{% connectorInfoCard name="Teradata" stage="PROD" href="/connectors/database/teradata" platform="OpenMetadata" / %} {% connectorInfoCard name="Trino" stage="PROD" href="/connectors/database/trino" platform="OpenMetadata" / %} {% connectorInfoCard name="Unity Catalog" stage="PROD" href="/connectors/database/unity-catalog" platform="OpenMetadata" / %} {% connectorInfoCard name="Vertica" stage="PROD" href="/connectors/database/vertica" platform="OpenMetadata" / %} diff --git a/openmetadata-docs/content/v1.4.x/connectors/database/teradata/index.md b/openmetadata-docs/content/v1.4.x/connectors/database/teradata/index.md new file mode 100644 index 00000000000..ec018b0950c --- /dev/null +++ b/openmetadata-docs/content/v1.4.x/connectors/database/teradata/index.md @@ -0,0 +1,75 @@ +--- +title: Teradata +slug: /connectors/database/teradata +--- + +{% connectorDetailsHeader +name="Teradata" +stage="BETA" +platform="OpenMetadata" +availableFeatures=["Metadata", "Data Profiler"] +unavailableFeatures=["Query Usage", "Data Quality", "Owners", "Tags", "Stored Procedures", "Lineage", "Column-level Lineage", "dbt"] +/ %} + +In this section, we provide guides and references to use the Teradata connector. + +Configure and schedule Teradata metadata and profiler workflows from the OpenMetadata UI: + +- [Requirements](#requirements) +- [Metadata Ingestion](#metadata-ingestion) +- [Data Profiler](/connectors/ingestion/workflows/profiler) +- [Data Quality](/connectors/ingestion/workflows/data-quality) + +{% partial file="/v1.4/connectors/ingestion-modes-tiles.md" variables={yamlPath: "/connectors/database/greenplum/yaml"} /%} + +## Requirements +{%inlineCallout icon="description" bold="OpenMetadata 1.4 or later" href="/deployment"%} +To deploy OpenMetadata, check the Deployment guides. +{%/inlineCallout%} + +Connector was tested on Teradata DBS version 17.20. Since there are no significant changes in metadata objects, so it should work with 15.x, 16.x versions. + + +## Metadata Ingestion + +By default, all valid users in Teradata DB has full access to metadata objects, so there are no any specific requirements to user privileges. + +{% partial + file="/v1.4/connectors/metadata-ingestion-ui.md" + variables={ + connector: "Teradata", + selectServicePath: "/images/v1.4/connectors/teradata/select-service.png", + addNewServicePath: "/images/v1.4/connectors/teradata/add-new-service.png", + serviceConnectionPath: "/images/v1.4/connectors/teradata/service-connection.png", +} +/%} + +{% stepsContainer %} +{% extraContent parentTagName="stepsContainer" %} + +#### Connection Details + +- **Username**: Specify the User to connect to Teradata. +- **Password**: Password to connect to Teradata +- **Logmech**: Specifies the logon authentication method. Possible values are TD2 (the default), JWT, LDAP, KRB5 for Kerberos, or TDNEGO. +- **LOGDATA**: Specifies additional data needed by a logon mechanism, such as a secure token, Distinguished Name, or a domain/realm name. LOGDATA values are specific to each logon mechanism. +- **Host and Port**: Enter the fully qualified hostname and port number (default port for Teradata is 1025) for your Teradata deployment in the Host and Port field. +- **Transaction Mode**: Specifies the transaction mode for the connection. Possible values are DEFAULT (the default), ANSI, or TERA. +- **Teradata Database Account**: Specifies an account string to override the default account string defined for the database user. Accounts are used by the database for workload management and resource usage monitoring. +- **Connection Options** and **Connection Arguments**: additional connection parameters. For more information please view teradatasql [docs](https://pypi.org/project/teradatasql/). + +{% partial file="/v1.4/connectors/database/advanced-configuration.md" /%} + +{% /extraContent %} + +{% partial file="/v1.4/connectors/test-connection.md" /%} + +{% partial file="/v1.4/connectors/database/configure-ingestion.md" /%} + +{% partial file="/v1.4/connectors/ingestion-schedule-and-deploy.md" /%} + +{% /stepsContainer %} + +{% partial file="/v1.4/connectors/troubleshooting.md" /%} + +{% partial file="/v1.4/connectors/database/related.md" /%} diff --git a/openmetadata-docs/content/v1.4.x/connectors/database/teradata/yaml.md b/openmetadata-docs/content/v1.4.x/connectors/database/teradata/yaml.md new file mode 100644 index 00000000000..ec54507c059 --- /dev/null +++ b/openmetadata-docs/content/v1.4.x/connectors/database/teradata/yaml.md @@ -0,0 +1,117 @@ +--- +title: Run the Teradata Connector Externally +slug: /connectors/database/teradata/yaml +--- + +{% connectorDetailsHeader +name="Teradata" +stage="BETA" +platform="OpenMetadata" +availableFeatures=["Metadata", "Data Profiler", "Data Quality"] +unavailableFeatures=["Query Usage", "Owners", "Tags", "Stored Procedures", "Lineage", "Column-level Lineage", "dbt"] +/ %} + +In this section, we provide guides and references to use the Teradata connector. + +Configure and schedule Greenplum Teradata and profiler workflows from the OpenMetadata UI: + +- [Requirements](#requirements) +- [Metadata Ingestion](#metadata-ingestion) +- [Data Profiler](#data-profiler) +- [Data Quality](#data-quality) + + +{% partial file="/v1.4/connectors/external-ingestion-deployment.md" /%} + +## Requirements + +### Python Requirements + +{% partial file="/v1.4/connectors/python-requirements.md" /%} + +To run the Teradata ingestion, you will need to install: + +```bash +pip3 install "openmetadata-ingestion[teradata]" +``` + +## Metadata Ingestion + +All connectors are defined as JSON Schemas. +[Here](https://github.com/open-metadata/OpenMetadata/blob/main/openmetadata-spec/src/main/resources/json/schema/entity/services/connections/database/teradataConnection.json) +you can find the structure to create a connection to Teradata. + +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](https://github.com/open-metadata/OpenMetadata/blob/main/openmetadata-spec/src/main/resources/json/schema/metadataIngestion/workflow.json) + +### 1. Define the YAML Config + +This is a sample config for Teradata: + +{% codePreview %} + +{% codeInfoContainer %} + +#### Source Configuration - Service Connection + +{% codeInfo srNumber=1 %} + +**username**: Specify the User to connect to Teradata. + +{% /codeInfo %} +{% codeInfo srNumber=2 %} + +**password**: User password to connect to Teradata + +{% /codeInfo %} + +{% codeInfo srNumber=3 %} + +**hostPort**: Enter the fully qualified hostname and port number for your Greenplum deployment in the Host and Port field. + +{% /codeInfo %} + + + + +{% /codeInfoContainer %} + +{% codeBlock fileName="filename.yaml" %} + +```yaml {% isCodeBlock=true %} +source: + type: teradata + serviceName: example_teradata + serviceConnection: + config: + type: Teradata +``` +```yaml {% srNumber=1 %} + username: username +``` +```yaml {% srNumber=2 %} + password: +``` +```yaml {% srNumber=3 %} + hostPort: teradata:1025 +``` + +{% partial file="/v1.4/connectors/yaml/database/source-config.md" /%} + +{% partial file="/v1.4/connectors/yaml/ingestion-sink.md" /%} + +{% partial file="/v1.4/connectors/yaml/workflow-config.md" /%} + +{% /codeBlock %} + +{% /codePreview %} + +{% partial file="/v1.4/connectors/yaml/ingestion-cli.md" /%} + +{% partial file="/v1.4/connectors/yaml/data-profiler.md" variables={connector: "teradata"} /%} + +{% partial file="/v1.4/connectors/yaml/data-quality.md" /%} diff --git a/openmetadata-docs/content/v1.4.x/menu.md b/openmetadata-docs/content/v1.4.x/menu.md index e4615feb57f..52f4a799300 100644 --- a/openmetadata-docs/content/v1.4.x/menu.md +++ b/openmetadata-docs/content/v1.4.x/menu.md @@ -608,6 +608,10 @@ site_menu: url: /connectors/database/sqlite - category: Connectors / Database / SQLite / Run Externally url: /connectors/database/sqlite/yaml + - category: Connectors / Database / Teradata + url: /connectors/database/teradata + - category: Connectors / Database / Teradata / Run Externally + url: /connectors/database/teradata/yaml - category: Connectors / Database / Trino url: /connectors/database/trino - category: Connectors / Database / Trino / Run Externally diff --git a/openmetadata-docs/images/v1.4/connectors/teradata/add-new-service.png b/openmetadata-docs/images/v1.4/connectors/teradata/add-new-service.png new file mode 100644 index 00000000000..c3d5f2559d2 Binary files /dev/null and b/openmetadata-docs/images/v1.4/connectors/teradata/add-new-service.png differ diff --git a/openmetadata-docs/images/v1.4/connectors/teradata/select-service.png b/openmetadata-docs/images/v1.4/connectors/teradata/select-service.png new file mode 100644 index 00000000000..fcb2d497649 Binary files /dev/null and b/openmetadata-docs/images/v1.4/connectors/teradata/select-service.png differ diff --git a/openmetadata-docs/images/v1.4/connectors/teradata/service-connection.png b/openmetadata-docs/images/v1.4/connectors/teradata/service-connection.png new file mode 100644 index 00000000000..f3ebdaf207b Binary files /dev/null and b/openmetadata-docs/images/v1.4/connectors/teradata/service-connection.png differ diff --git a/openmetadata-ui/src/main/resources/ui/public/locales/en-US/Database/Teradata.md b/openmetadata-ui/src/main/resources/ui/public/locales/en-US/Database/Teradata.md index fc0db322f77..006d92153db 100644 --- a/openmetadata-ui/src/main/resources/ui/public/locales/en-US/Database/Teradata.md +++ b/openmetadata-ui/src/main/resources/ui/public/locales/en-US/Database/Teradata.md @@ -1,3 +1,76 @@ # Teradata In this section, we provide guides and references to use the Teradata connector. + +## Requirements + +### 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](https://docs.open-metadata.org/connectors/ingestion/workflows/profiler) and data quality tests [here](https://docs.open-metadata.org/connectors/ingestion/workflows/data-quality). + +You can find further information on the Teradata connector in the [docs](https://docs.open-metadata.org/connectors/database/teradata). + +## Connection Details + +$$section +### Connection Scheme $(id="scheme") + +SQLAlchemy driver scheme options. +$$ + +$$section +### Username $(id="username") + +Username to connect to Teradata. By default, any valid user has privileges to read all the metadata in Teradata. +$$ + +$$section +### Password $(id="password") + +Password to connect to Teradata. +$$ + +$$section +### Logon mechanism (Logmech) $(id="logmech") +Specifies the logon authentication method. Possible values are TD2 (the default), JWT, LDAP, KRB5 for Kerberos, or TDNEGO. + +$$ + +$$section +### Extra data for the chosen logon authentication method (LOGDATA) $(id="logdata") + +Specifies additional data needed by a logon mechanism, such as a secure token, Distinguished Name, or a domain/realm name. LOGDATA values are specific to each logon mechanism. +$$ + +$$section +### Host and Port $(id="hostPort") + +This parameter specifies the host and port of the Teradata instance. This should be specified as a string in the format `hostname:port`. For example, you might set the hostPort parameter to `example:1025`. +$$ + +$$section +### Transaction mode $(id="tmode") + +Specifies the transaction mode for the connection. Possible values are DEFAULT (the default), ANSI, or TERA. More information about this parameter can be found [here](https://teradata-docs.s3.amazonaws.com/doc/connectivity/jdbc/reference/current/jdbcug_chapter_2.html#TMODESEC) +$$ + +$$section +### Teradata Database account $(id="account") + +Specifies an account string to override the default account string defined for the database user. Accounts are used by the database for workload management and resource usage monitoring. + +$$ + +$$section +### Connection Arguments $(id="connectionArguments") + +Additional connection arguments such as security or protocol configs that can be sent to service during connection. +You can find further information about Connection Arguments [here](https://pypi.org/project/teradatasql/). +$$ + +$$section +### Connection Options $(id="connectionOptions") + +Additional connection options to build the URL that can be sent to service during the connection. +You can find further information about Connection Options [here](https://pypi.org/project/teradatasql/). +$$