Skip to content

Commit

Permalink
[Docs]- add ui doc for doris connector (#14147)
Browse files Browse the repository at this point in the history
  • Loading branch information
chyueyi authored Dec 13, 2023
1 parent 4e5fed7 commit bfe64e0
Show file tree
Hide file tree
Showing 6 changed files with 345 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
---
title: Doris
slug: /connectors/database/doris
---

# Doris

{% multiTablesWrapper %}

| Feature | Status |
| :----------------- |:--------------------------------------------------------|
| Stage | PROD |
| Metadata | {% icon iconName="check" /%} |
| Query Usage | {% icon iconName="cross" /%} |
| Data Profiler | {% icon iconName="check" /%} |
| Data Quality | {% icon iconName="cross" /%} |
| Stored Procedures | {% icon iconName="cross" /%} |
| DBT | {% icon iconName="cross" /%} |
| Supported Versions | Metadata: Doris >= 1.2.0, Data Profiler: Doris >= 2.0.2 |

| Feature | Status |
| :----------- |:-----------------------------|
| Lineage | Partially via Views |
| Table-level | {% icon iconName="check" /%} |
| Column-level | {% icon iconName="check" /%} |

{% /multiTablesWrapper %}

In this section, we provide guides and references to use the Doris connector.

Configure and schedule Doris 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)
- [dbt Integration](/connectors/ingestion/workflows/dbt)

{% partial file="/v1.2/connectors/ingestion-modes-tiles.md" variables={yamlPath: "/connectors/database/doris/yaml"} /%}

## Requirements

{%inlineCallout icon="description" bold="OpenMetadata 1.2.x or later" href="/deployment"%}
To deploy OpenMetadata, check the Deployment guides.
{%/inlineCallout%}

## Metadata Ingestion

{% partial
file="/v1.2/connectors/metadata-ingestion-ui.md"
variables={
connector: "Doris",
selectServicePath: "/images/v1.2/connectors/doris/select-service.png",
addNewServicePath: "/images/v1.2/connectors/doris/add-new-service.png",
serviceConnectionPath: "/images/v1.2/connectors/doris/service-connection.png",
}
/%}

{% stepsContainer %}
{% extraContent parentTagName="stepsContainer" %}

#### Connection Details

- **Username**: Specify the User to connect to Doris. It should have enough privileges to read all the metadata.
- **Password**: Password to connect to Doris.
- **Host and Port**: Enter the fully qualified hostname and port number for your Doris deployment in the Host and Port field.
- **databaseName**: Optional name to give to the database in OpenMetadata. If left blank, we will use default as the database name.
- **databaseSchema**: databaseSchema of the data source. This is optional parameter, if you would like to restrict the metadata reading to a single databaseSchema. When left blank, OpenMetadata Ingestion attempts to scan all the databaseSchema.
- **sslCA**: Provide the path to ssl ca file.
- **sslCert**: Provide the path to ssl client certificate file (ssl_cert).
- **sslKey**: Provide the path to ssl client certificate file (ssl_key).

{% partial file="/v1.2/connectors/database/advanced-configuration.md" /%}

{% /extraContent %}

{% partial file="/v1.2/connectors/test-connection.md" /%}

{% partial file="/v1.2/connectors/database/configure-ingestion.md" /%}

{% partial file="/v1.2/connectors/ingestion-schedule-and-deploy.md" /%}

{% /stepsContainer %}

{% partial file="/v1.2/connectors/troubleshooting.md" /%}

{% partial file="/v1.2/connectors/database/related.md" /%}
182 changes: 182 additions & 0 deletions openmetadata-docs/content/v1.2.x/connectors/database/doris/yaml.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,182 @@
---
title: Run the Doris Connector Externally
slug: /connectors/database/doris/yaml
---

# Run the Doris Connector Externally

{% multiTablesWrapper %}

| Feature | Status |
| :----------------- |:--------------------------------------------------------|
| Stage | PROD |
| Metadata | {% icon iconName="check" /%} |
| Query Usage | {% icon iconName="cross" /%} |
| Data Profiler | {% icon iconName="check" /%} |
| Data Quality | {% icon iconName="cross" /%} |
| Stored Procedures | {% icon iconName="cross" /%} |
| DBT | {% icon iconName="cross" /%} |
| Supported Versions | Metadata: Doris >= 1.2.0, Data Profiler: Doris >= 2.0.2 |

| Feature | Status |
| :----------- |:-----------------------------|
| Lineage | Partially via Views |
| Table-level | {% icon iconName="check" /%} |
| Column-level | {% icon iconName="check" /%} |

{% /multiTablesWrapper %}

In this section, we provide guides and references to use the Doris connector.

Configure and schedule Doris metadata and profiler workflows from the OpenMetadata UI:

- [Requirements](#requirements)
- [Metadata Ingestion](#metadata-ingestion)
- [Data Profiler](#data-profiler)
- [dbt Integration](#dbt-integration)

{% partial file="/v1.2/connectors/external-ingestion-deployment.md" /%}

## Requirements

{%inlineCallout icon="description" bold="OpenMetadata 1.2.x or later" href="/deployment"%}
To deploy OpenMetadata, check the Deployment guides.
{%/inlineCallout%}



### Python Requirements

To run the Doris ingestion, you will need to install:

```bash
pip3 install "openmetadata-ingestion[doris]"
```

## 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/dorisConnection.json)
you can find the structure to create a connection to Doris.

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 Doris:

{% codePreview %}

{% codeInfoContainer %}

#### Source Configuration - Service Connection

{% codeInfo srNumber=1 %}

**username**: Specify the User to connect to Doris. It should have enough privileges to read all the metadata.

{% /codeInfo %}

{% codeInfo srNumber=2 %}

{% codeInfo srNumber=2 %}

**password**: Password to connect to Doris.

{% /codeInfo %}

{% codeInfo srNumber=4 %}

**Host and Port**: Enter the fully qualified hostname and port number for your Doris deployment in the Host and Port field.

{% /codeInfo %}

{% codeInfo srNumber=5 %}

**databaseSchema**: databaseSchema of the data source. This is optional parameter, if you would like to restrict the metadata reading to a single databaseSchema. When left blank, OpenMetadata Ingestion attempts to scan all the databaseSchema.

{% /codeInfo %}

{% partial file="/v1.2/connectors/yaml/database/source-config-def.md" /%}

{% partial file="/v1.2/connectors/yaml/ingestion-sink-def.md" /%}

{% partial file="/v1.2/connectors/yaml/workflow-config-def.md" /%}

#### Advanced Configuration

{% codeInfo srNumber=6 %}

**Connection Options (Optional)**: Enter the details for any additional connection options that can be sent to Athena during the connection. These details must be added as Key-Value pairs.

{% /codeInfo %}

{% codeInfo srNumber=7 %}

**Connection Arguments (Optional)**: Enter the details for any additional connection arguments such as security or protocol configs that can be sent to Athena 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" %}

```yaml
source:
type: doris
serviceName: <service name>
serviceConnection:
config:
type: Doris
```
```yaml {% srNumber=1 %}
username: <username>
```
```yaml {% srNumber=2 %}
password: <password>
```
```yaml {% srNumber=4 %}
hostPort: <hostPort>
```
```yaml {% srNumber=5 %}
databaseSchema: schema
```
```yaml {% srNumber=6 %}
# connectionOptions:
# key: value
```
```yaml {% srNumber=7 %}
# connectionArguments:
# key: value
```

{% partial file="/v1.2/connectors/yaml/database/source-config.md" /%}

{% partial file="/v1.2/connectors/yaml/ingestion-sink.md" /%}

{% partial file="/v1.2/connectors/yaml/workflow-config.md" /%}

{% /codeBlock %}

{% /codePreview %}

{% partial file="/v1.2/connectors/yaml/ingestion-cli.md" /%}

{% partial file="/v1.2/connectors/yaml/data-profiler.md" variables={connector: "doris"} /%}

## Lineage

You can learn more about how to ingest lineage [here](/connectors/ingestion/workflows/lineage).

## dbt Integration

You can learn more about how to ingest dbt models' definitions and their lineage [here](/connectors/ingestion/workflows/dbt).

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# Doris

In this section, we provide guides and references to use the Doris connector.

## Requirements

You can find further information on the Doris connector in the [docs](https://docs.open-metadata.org/connectors/database/doris).

## Connection Details

$$section
### Scheme $(id="scheme")
SQLAlchemy driver scheme options.
$$

$$section
### Username $(id="username")
Username to connect to Doris. This user should have privileges to read all the metadata in Doris.
$$

$$section
### Password $(id="password")
Password to connect to Doris.
$$

$$section
### Host Port $(id="hostPort")
This parameter specifies the fe host and fe query port of the Doris instance. This should be specified as a string in the format `hostname:port`. For example, you might set the hostPort parameter to `localhost:9030`.
$$

$$section
### Database Name $(id="databaseName")
In OpenMetadata, the Database Service hierarchy works as follows:
```
Database Service > Database > Schema > Table
```
In the case of Doris, we won't have a Database as such. If you'd like to see your data in a database named something other than `default`, you can specify the name in this field.
$$

$$section
### Database Schema $(id="databaseSchema")
This is an optional parameter. When set, the value will be used to restrict the metadata reading to a single database (corresponding to the value passed in this field). When left blank, OpenMetadata will scan all the databases.
$$

$$section
### SSL CA $(id="sslCA")
Provide the path to SSL CA file, which needs to be local in the ingestion process.
$$

$$section
### SSL Certificate $(id="sslCert")
Provide the path to SSL client certificate file (`ssl_cert`)
$$

$$section
### SSL Key $(id="sslKey")
Provide the path to SSL key file (`ssl_key`)
$$

$$section
### Connection Options $(id="connectionOptions")
Additional connection options to build the URL that can be sent to the service during the connection.
$$

$$section
### Connection Arguments $(id="connectionArguments")
Additional connection arguments such as security or protocol configs that can be sent to the service during connection.

0 comments on commit bfe64e0

Please sign in to comment.