Skip to content

Commit

Permalink
Merge branch 'main' into app-deployment
Browse files Browse the repository at this point in the history
  • Loading branch information
pmbrull authored Dec 1, 2023
2 parents a15500b + 04b20bd commit b65c1a2
Show file tree
Hide file tree
Showing 397 changed files with 2,306 additions and 1,220 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/maven-build-skip.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
# Avoid running Maven CI on each PR opened which does not modify Java or UI code
# https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-
# of-pull-requests/troubleshooting-required-status-checks#handling-skipped-but-required-checks
name: Maven CI
name: Maven MySQL Tests CI

on:
pull_request_target:
Expand Down
11 changes: 1 addition & 10 deletions .github/workflows/maven-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -99,20 +99,11 @@ jobs:
sudo apt-get install -y unixodbc-dev python3-venv librdkafka-dev gcc libsasl2-dev build-essential libssl-dev libffi-dev \
librdkafka-dev unixodbc-dev libevent-dev jq
sudo make install_antlr_cli
- name: Build PR with Maven
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
if: ${{ github.event_name == 'pull_request_target' }}
run: |
git fetch --no-tags https://github.com/open-metadata/OpenMetadata.git +refs/heads/main:refs/remotes/origin/main
mvn -pl :openmetadata-service clean package -am
- name: Build with Maven
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
if: ${{ github.event_name == 'push' || github.event_name == 'workflow_dispatch' }}
run: mvn -Dsonar.login=${{ secrets.SONAR_TOKEN }} clean package
run: mvn clean package -am

- name: Clean Up
run: |
Expand Down
11 changes: 1 addition & 10 deletions .github/workflows/maven-postgres-tests-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -98,20 +98,11 @@ jobs:
sudo apt-get install -y unixodbc-dev python3-venv librdkafka-dev gcc libsasl2-dev build-essential libssl-dev libffi-dev \
librdkafka-dev unixodbc-dev libevent-dev jq
sudo make install_antlr_cli
- name: Build PR with Maven
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
if: ${{ github.event_name == 'pull_request_target' }}
run: |
git fetch --no-tags https://github.com/open-metadata/OpenMetadata.git +refs/heads/main:refs/remotes/origin/main
mvn -pl :openmetadata-service -Ppostgres-tests clean package -am
- name: Build with Maven
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
if: ${{ github.event_name == 'push' }}
run: mvn clean package
run: mvn -Ppostgres-tests clean package -am

- name: Clean Up
run: |
Expand Down
11 changes: 1 addition & 10 deletions .github/workflows/maven-sonar-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -99,20 +99,11 @@ jobs:
sudo apt-get install -y unixodbc-dev python3-venv librdkafka-dev gcc libsasl2-dev build-essential libssl-dev libffi-dev \
librdkafka-dev unixodbc-dev libevent-dev jq
sudo make install_antlr_cli
- name: Build PR with Maven
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
if: ${{ github.event_name == 'pull_request_target' }}
run: |
git fetch --no-tags https://github.com/open-metadata/OpenMetadata.git +refs/heads/main:refs/remotes/origin/main
mvn -pl :openmetadata-service -Pstatic-code-analysis clean package -am
- name: Build with Maven
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
if: ${{ github.event_name == 'push' || github.event_name == 'workflow_dispatch' }}
run: mvn -Dsonar.login=${{ secrets.SONAR_TOKEN }} -Pstatic-code-analysis -DskipTests clean package
run: mvn -Pstatic-code-analysis clean package -am

- name: Clean Up
run: |
Expand Down
11 changes: 8 additions & 3 deletions openmetadata-docs/content/v1.2.x/connectors/custom-connectors.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,11 @@ We'd recommend to go through the example to better understand how all the pieces

{% /note %}

Watch OpenMetadata's [Webinar on Custom Connectors](https://www.youtube.com/watch?v=fDUj30Ub9VE)

{% youtube videoId="fDUj30Ub9VE" start="0:00" end="36:33" /%}

# Steps to Set Up a Custom Connector

## Step 1 - Prepare your Connector

Expand All @@ -31,15 +36,15 @@ In [connector/my_awesome_connector.py](https://github.com/open-metadata/openmeta
Note how the important method is the `next_record`. This is the generator function that will be iterated over
to send all the Create Entity Requests to the `Sink`. Read more about the `Workflow` [here](https://docs.open-metadata.org/sdk/python/build-connector).

## Step 2 - Yield the data
## Step 2 - Yield the Data

The `Sink` is expecting Create Entity Requests. To get familiar with the Python SDK and understand how to create
the different Entities, a recommended read is the Python SDK [docs](https://docs.open-metadata.org/sdk/python).

We do not have docs and examples of all the supported Services. A way to get examples on how to create and fetch
other types of Entities is to directly refer to the `ometa` [integration tests](https://github.com/open-metadata/OpenMetadata/tree/main/ingestion/tests/integration/ometa).

## Step 3 - Prepare the package installation
## Step 3 - Prepare the Package Installation

We'll need to package the code so that it can be shipped to the ingestion container and used there. In this demo
you can find a simple `setup.py` that builds the `connector` module.
Expand Down Expand Up @@ -67,7 +72,7 @@ COPY setup.py .
RUN pip install --no-deps .
```

## Step 5 - Run OpenMetadata with the custom Ingestion image
## Step 5 - Run OpenMetadata with the Custom Ingestion Image

We have a `Makefile` prepared for you to run `make run`. This will get OpenMetadata up in Docker Compose using the
custom Ingestion image.
Expand Down
27 changes: 16 additions & 11 deletions openmetadata-docs/content/v1.2.x/connectors/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,64 +35,69 @@ the following docs to run the Ingestion Framework in any orchestrator externally
- [AzureSQL](/connectors/database/azuresql)
- [BigQuery](/connectors/database/bigquery)
- [Clickhouse](/connectors/database/clickhouse)
- [Databricks SQL](/connectors/database/databricks)
- [Couchbase](/connectors/database/couchbase)
- [Data lake](/connectors/database/datalake)
- [Databricks SQL](/connectors/database/databricks)
- [DB2](/connectors/database/db2)
- [Delta Lake](/connectors/database/deltalake)
- [Domo Database](/connectors/database/domo-database)
- [Druid](/connectors/database/druid)
- [DynamoDB](/connectors/database/dynamodb)
- [Glue](/connectors/database/glue)
- [Greenplum](/connectors/database/greenplum)
- [Hive](/connectors/database/hive)
- [Impala](/connectors/database/impala)
- [MariaDB](/connectors/database/mariadb)
- [MongoDB](/connectors/database/mongodb)
- [MSSQL](/connectors/database/mssql)
- [MySQL](/connectors/database/mysql)
- [Oracle](/connectors/database/oracle)
- [PinotDB](/connectors/database/pinotdb)
- [Postgres](/connectors/database/postgres)
- [Presto](/connectors/database/presto)
- [PinotDB](/connectors/database/pinotdb)
- [Redshift](/connectors/database/redshift)
- [Salesforce](/connectors/database/salesforce)
- [SAP Hana](/connectors/database/sap-hana)
- [SingleStore](/connectors/database/singlestore)
- [Snowflake](/connectors/database/snowflake)
- [SQLite](/connectors/database/sqlite)
- [Trino](/connectors/database/trino)
- [Vertica](/connectors/database/vertica)
- [Domo Database](/connectors/database/domo-database)

## Dashboard Services

- [Domo Dashboard](/connectors/dashboard/domo-dashboard)
- [Looker](/connectors/dashboard/looker)
- [Metabase](/connectors/dashboard/metabase)
- [Mode](/connectors/dashboard/mode)
- [PowerBI](/connectors/dashboard/powerbi)
- [Qlik Sense](/connectors/dashboard/qliksense)
- [QuickSight](/connectors/dashboard/quicksight)
- [Redash](/connectors/dashboard/redash)
- [Superset](/connectors/dashboard/superset)
- [Tableau](/connectors/dashboard/tableau)
- [Domo Dashboard](/connectors/dashboard/domo-dashboard)
- [Qlik Sense](/connectors/dashboard/qliksense)
- [QuickSight](/connectors/dashboard/quicksight)

## Messaging Services

- [Kafka](/connectors/messaging/kafka)
- [Redpanda](/connectors/messaging/redpanda)
- [Kinesis](/connectors/messaging/kinesis)

- [Redpanda](/connectors/messaging/redpanda)

## Pipeline Services

- [Airbyte](/connectors/pipeline/airbyte)
- [Airflow](/connectors/pipeline/airflow)
- [Dagster](/connectors/pipeline/dagster)
- [Databricks Pipeline](/connectors/pipeline/databricks-pipeline)
- [Domo Pipeline](/connectors/pipeline/domo-pipeline)
- [Fivetran](/connectors/pipeline/fivetran)
- [Glue](/connectors/pipeline/glue-pipeline)
- [Domo Pipeline](/connectors/pipeline/domo-pipeline)
- [NiFi](/connectors/pipeline/nifi)
- [Spline](/connectors/pipeline/spline)

## ML Model Services

- [Mlflow](/connectors/ml-model/mlflow)
- [MLflow](/connectors/ml-model/mlflow)
- [Sagemaker](/connectors/ml-model/sagemaker)

## Storage Services
Expand All @@ -106,4 +111,4 @@ the following docs to run the Ingestion Framework in any orchestrator externally

## Search Services

- [ElasticSearch](/connectors/search/elasticsearch)
- [Elasticsearch](/connectors/search/elasticsearch)
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
---
title: Mlflow
title: MLflow
slug: /connectors/ml-model/mlflow
---

# Mlflow
# MLflow

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

Configure and schedule Mlflow metadata and profiler workflows from the OpenMetadata UI:
Configure and schedule MLflow metadata and profiler workflows from the OpenMetadata UI:

- [Requirements](#requirements)
- [Metadata Ingestion](#metadata-ingestion)
Expand All @@ -17,7 +17,7 @@ Configure and schedule Mlflow metadata and profiler workflows from the OpenMetad
## Requirements

To extract metadata, OpenMetadata needs two elements:
- **Tracking URI**: Address of local or remote tracking server. More information on the MLFlow documentation [here](https://www.mlflow.org/docs/latest/tracking.html#where-runs-are-recorded)
- **Tracking URI**: Address of local or remote tracking server. More information on the MLflow documentation [here](https://www.mlflow.org/docs/latest/tracking.html#where-runs-are-recorded)
- **Registry URI**: Address of local or remote model registry server.

## Metadata Ingestion
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
---
title: Run the Mlflow Connector Externally
title: Run the MLflow Connector Externally
slug: /connectors/ml-model/mlflow/yaml
---

# Run the Mlflow Connector Externally
# Run the MLflow Connector Externally

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

Configure and schedule Mlflow metadata and profiler workflows from the OpenMetadata UI:
Configure and schedule MLflow metadata and profiler workflows from the OpenMetadata UI:

- [Requirements](#requirements)
- [Metadata Ingestion](#metadata-ingestion)
Expand All @@ -24,7 +24,7 @@ To deploy OpenMetadata, check the Deployment guides.

### Python Requirements

To run the Mlflow ingestion, you will need to install:
To run the MLflow ingestion, you will need to install:

```bash
pip3 install "openmetadata-ingestion[mlflow]"
Expand All @@ -34,7 +34,7 @@ pip3 install "openmetadata-ingestion[mlflow]"

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/mlmodel/mlflowConnection.json)
you can find the structure to create a connection to Mlflow.
you can find the structure to create a connection to MLflow.

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,
Expand All @@ -45,7 +45,7 @@ The workflow is modeled around the following

### 1. Define the YAML Config

This is a sample config for Mlflow:
This is a sample config for MLflow:

{% codePreview %}

Expand All @@ -55,14 +55,14 @@ This is a sample config for Mlflow:

{% codeInfo srNumber=1 %}

**trackingUri**: Mlflow Experiment tracking URI. E.g., http://localhost:5000
**trackingUri**: MLflow Experiment tracking URI. E.g., http://localhost:5000


{% /codeInfo %}

{% codeInfo srNumber=2 %}

**registryUri**: Mlflow Model registry backend. E.g., mysql+pymysql://mlflow:password@localhost:3307/experiments
**registryUri**: MLflow Model registry backend. E.g., mysql+pymysql://mlflow:password@localhost:3307/experiments

{% /codeInfo %}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
---
title: ElasticSearch
title: Elasticsearch
slug: /connectors/search/elasticsearch
---

# ElasticSearch
# Elasticsearch

| Feature | Status |
|------------|------------------------------|
| Search Indexes | {% icon iconName="check" /%} |
| Sample Data | {% icon iconName="check" /%} |
| Supported Versions | ElasticSearch 7.0 and above |
| Supported Versions | Elasticsearch 7.0 and above |
| Stage | BETA |

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

Configure and schedule ElasticSearch metadata workflow from the OpenMetadata UI:
Configure and schedule Elasticsearch metadata workflow from the OpenMetadata UI:

- [Requirements](#requirements)
- [Metadata Ingestion](#metadata-ingestion)
Expand All @@ -23,7 +23,7 @@ Configure and schedule ElasticSearch metadata workflow from the OpenMetadata UI:

## Requirements

We extract ElasticSearch's metadata by using its [API](https://www.elastic.co/guide/en/elasticsearch/reference/current/rest-apis.html). To run this ingestion, you just need a user with permissions to the ElasticSearch instance.
We extract Elasticsearch's metadata by using its [API](https://www.elastic.co/guide/en/elasticsearch/reference/current/rest-apis.html). To run this ingestion, you just need a user with permissions to the ElasticSearch instance.


## Metadata Ingestion
Expand All @@ -43,13 +43,13 @@ We extract ElasticSearch's metadata by using its [API](https://www.elastic.co/gu

#### Connection Details

- **Host and Port**: This parameter specifies the host and port of the ElasticSearch instance. This should be specified as a URI string in the format `http://hostname:port` or `https://hostname:port`. For example, you might set it to `https://localhost:9200`.
- **Host and Port**: This parameter specifies the host and port of the Elasticsearch instance. This should be specified as a URI string in the format `http://hostname:port` or `https://hostname:port`. For example, you might set it to `https://localhost:9200`.
- **Authentication Types**:
1. Basic Authentication
- Username: Username to connect to ElasticSearch required when Basic Authentication is enabled on ElasticSearch.
- Password: Password of the user account to connect with ElasticSearch.
- Username: Username to connect to Elasticsearch required when Basic Authentication is enabled on Elasticsearch.
- Password: Password of the user account to connect with Elasticsearch.
2. API Key Authentication
- API Key: API Key to connect to ElasticSearch required when API Key Authentication is enabled on ElasticSearch.
- API Key: API Key to connect to Elasticsearch required when API Key Authentication is enabled on Elasticsearch.
- API Key Id: Enter API Key ID In case of API Key Authentication if there is any API Key ID associated with the API Key, otherwise this field can be left blank.
- **SSL Certificates**:
1. SSL Certificates By Path
Expand Down Expand Up @@ -79,7 +79,7 @@ We extract ElasticSearch's metadata by using its [API](https://www.elastic.co/gu
```
-----BEGIN CERTIFICATE-----\nMII..\nMBQ...\nCgU..\n8Lt..\n...\nh+4=\n-----END CERTIFICATE-----\n
- **Connection Timeout in Seconds**: Connection timeout configuration for communicating with ElasticSearch APIs.
- **Connection Timeout in Seconds**: Connection timeout configuration for communicating with Elasticsearch APIs.
{% /extraContent %}
Expand Down
Loading

0 comments on commit b65c1a2

Please sign in to comment.