136 lines
3.2 KiB
Markdown
Raw Normal View History

2021-08-01 14:27:44 -07:00
---
description: This guide will help install BigQuery connector and run manually
---
# BigQuery
{% hint style="info" %}
**Prerequisites**
OpenMetadata is built using Java, DropWizard, Jetty, and MySQL.
1. Python 3.7 or above
{% endhint %}
2021-08-12 14:11:56 -07:00
### Install from PyPI or Source
2021-08-01 14:27:44 -07:00
2021-08-12 14:11:56 -07:00
{% tabs %}
{% tab title="Install Using PyPI" %}
2021-08-01 14:27:44 -07:00
```bash
2021-08-12 14:11:56 -07:00
pip install 'openmetadata-ingestion[bigquery]'
```
{% endtab %}
{% endtabs %}
2021-08-01 14:27:44 -07:00
## Run Manually
```bash
export GOOGLE_APPLICATION_CREDENTIALS="$PWD/examples/creds/bigquery-cred.json"
2021-08-16 07:57:20 +00:00
metadata ingest -c ./examples/workflows/bigquery.json
2021-08-01 14:27:44 -07:00
```
### Configuration
{% code title="bigquery-creds.json \(boilerplate\)" %}
```javascript
{
"type": "service_account",
"project_id": "project_id",
"private_key_id": "private_key_id",
"private_key": "",
"client_email": "gcpuser@project_id.iam.gserviceaccount.com",
"client_id": "",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": ""
}
```
{% endcode %}
{% code title="bigquery.json" %}
```javascript
{
"source": {
"type": "bigquery",
"config": {
"project_id": "project_id",
"host_port": "bigquery.googleapis.com",
"username": "username",
"service_name": "gcp_bigquery",
"options": {
"credentials_path": "examples/creds/bigquery-cred.json"
},
"filter_pattern": {
"excludes": [
"[\\w]*cloudaudit.*",
"[\\w]*logging_googleapis_com.*",
"[\\w]*clouderrorreporting.*"
]
}
}
},
```
{% endcode %}
1. **username** - pass the Bigquery username.
2021-08-16 16:52:35 +00:00
2. **password** - the password for the Bigquery username.
3. **service\_name** - Service Name for this Bigquery cluster. If you added the Bigquery cluster through OpenMetadata UI, make sure the service name matches the same.
4. **filter\_pattern** - It contains includes, excludes options to choose which pattern of datasets you want to ingest into OpenMetadata.
5. **database -** Database name from where data is to be fetched.
### Publish to OpenMetadata
2021-08-16 16:52:35 +00:00
Below is the configuration to publish Bigquery data into the OpenMetadata service.
2021-08-16 16:52:35 +00:00
Add Optionally`pii` processor and `metadata-rest-tables` sink along with `metadata-server` config
{% code title="bigquery.json" %}
```javascript
{
"source": {
"type": "bigquery",
"config": {
"project_id": "project_id",
"host_port": "bigquery.googleapis.com",
"username": "username",
"service_name": "gcp_bigquery",
"options": {
"credentials_path": "examples/creds/bigquery-cred.json"
},
"filter_pattern": {
"excludes": [
"[\\w]*cloudaudit.*",
"[\\w]*logging_googleapis_com.*",
"[\\w]*clouderrorreporting.*"
]
}
}
},
"sink": {
2021-09-07 17:52:06 +00:00
"type": "metadata-rest",
"config": {
"api_endpoint": "http://localhost:8585/api"
}
},
"metadata_server": {
"type": "metadata-server",
"config": {
"api_endpoint": "http://localhost:8585/api",
"auth_provider_type": "no-auth"
}
},
"cron": {
"minute": "*/5",
"hour": null,
"day": null,
"month": null,
"day_of_week": null
}
}
```
{% endcode %}
2021-08-01 14:27:44 -07:00