Imagen

Teradata VantageとGoogle Cloud Data Catalogを統合する

概要

この記事では、 Data Catalog Teradata Connector on GitHub を使用して Teradata VantageとGoogle Cloud Data Catalogを接続し、Data Catalog経由でVantageテーブルのメタデータを探索する手順について説明します。

図の説明が自動的に生成される

  • Scrape: Teradata Vantageに接続し、利用可能なすべてのメタデータを取得する

  • Prepare: Data Catalogエンティティでメタデータを変換し、タグを作成する

  • Ingest: Data CatalogエンティティをGoogle Cloudプロジェクトに送信する

Google Cloud Data Catalogについて

Google Cloud Data Catalog は、完全に管理されたデータ検出およびメタデータ管理サービスです。Data Catalog は、データ アセットのネイティブなメタデータをカタログ化することができます。Data Catalog はサーバーレスであり、テクニカルメタデータとビジネスメタデータの両方を構造化された形式で取り込むためのセントラルカタログを提供します。

Teradata Vantage について

Vantageは、データウェアハウス、データレイク、アナリティクスを単一の接続されたエコシステムに統合する最新のクラウドプラットフォームです。

Vantageは、記述的分析、予測的分析、処方的分析、自律的意思決定、ML機能、可視化ツールを統合したプラットフォームで、データの所在を問わず、リアルタイムのビジネスインテリジェンスを大規模に発掘することが可能です。

Vantageは、小規模から始めて、コンピュートやストレージを弾力的に拡張し、使用した分だけ支払い、低コストのオブジェクトストアを活用し、分析ワークロードを統合することを可能にします。

Vantageは、R、Python、Teradata Studio、およびその他のSQLベースのツールをサポートしています。Vantageは、パブリッククラウド、オンプレミス、最適化されたインフラ、コモディティインフラ、as-a-serviceのいずれでもデプロイメント可能です。

Teradata Vantage の詳細については、 ドキュメント を参照してください。

前提条件

  • Teradata Vantageインスタンスへのアクセス。

    Vantage のテスト インスタンスが必要な場合は、 https://clearscape.teradata.com. で無料でプロビジョニングできます。
  • Data Catalog 管理者ロールを持つ Google Service Account

  • アカウント用にhttps://cloud.google.com/resource-manager/docs/creating-managing-projects[作成されたCloud Consoleプロジェクト] (例、partner-integration-lab)

  • 課金が有効になっている

  • Google Cloud SDKの インストール初期化 されている* Python がインストールされている

  • Pip がインストールされている

手順

  1. Data Catalog API を有効にする

  2. Teradata Data Catalog コネクタをインストールする

  3. 実行する

  4. Teradata VantageのメタデータをData Catalogで探索する

Data Catalog APIを有効にする

  • Google にログインし、ナビゲーションメニューから APIs & Services を選択し、 _Library_をクリックします。トップメニューバーでプロジェクトが選択されていることを確認します。

    グラフィカル ユーザー インターフェース

  • 検索ボックスに Data Catalog を入力し、 Google Cloud Data Catalog API をクリックし、 ENABLE をクリックします

    グラフィカル ユーザー インターフェース

Teradata Data Catalog コネクタをインストールする

Teradata Data Catalog コネクタは GitHub で公開されています。このコネクタは Python で記述されています。

  • 以下のコマンドを実行し、gcloudを認証して、Googleのユーザー認証でCloud Platformにアクセスできるようにします。

    gcloud auth login
  • Googleのログインページが開くので、Googleアカウントを選択し、次のページで Allow をクリックします。

  • 次に、デフォルトプロジェクトの設定がまだの場合は設定します。

    gcloud config set project <project id>

virtualenv をインストールする

Teradata Data Catalog コネクタは、分離されたPython環境にインストールすることをお勧めします。これを行うには、まず virtualenv をインストールします。

  • Windows

  • MacOS

  • Linux

管理者としてPowerShellで実行:

pip install virtualenv
virtualenv --python python3.6 <your-env>
<your-env>\Scripts\activate
pip install virtualenv
virtualenv --python python3.6 <your-env>
source <your-env>/bin/activate
pip install virtualenv
virtualenv --python python3.6 <your-env>
source <your-env>/bin/activate

Data Catalog Teradataコネクタのインストール

  • Windows

  • MacOS

  • Linux

pip.exe install google-datacatalog-teradata-connector
pip install google-datacatalog-teradata-connector
pip install google-datacatalog-teradata-connector

環境変数の設定

export GOOGLE_APPLICATION_CREDENTIALS=<google_credentials_file>
export TERADATA2DC_DATACATALOG_PROJECT_ID=<google_cloud_project_id>
export TERADATA2DC_DATACATALOG_LOCATION_ID=<google_cloud_location_id>
export TERADATA2DC_TERADATA_SERVER=<teradata_server>
export TERADATA2DC_TERADATA_USERNAME=<teradata_username>
export TERADATA2DC_TERADATA_PASSWORD=<teradata_password>
`<google_credential_file>` には、サービスアカウントのキー(jsonファイル)を指定します。

実行する

`google-datacatalog-teradata-connector` コマンドを実行して、Vantage データベースへのエ ントリポイントを確立します。
google-datacatalog-teradata-connector \
  --datacatalog-project-id=$TERADATA2DC_DATACATALOG_PROJECT_ID \
  --datacatalog-location-id=$TERADATA2DC_DATACATALOG_LOCATION_ID \
  --teradata-host=$TERADATA2DC_TERADATA_SERVER \
  --teradata-user=$TERADATA2DC_TERADATA_USERNAME \
  --teradata-pass=$TERADATA2DC_TERADATA_PASSWORD

google-datacatalog-teradata-connectorコマンドの出力例です。

INFO:root:
==============Starting CLI===============
INFO:root:This SQL connector does not implement the user defined datacatalog-entry-resource-url-prefix
INFO:root:This SQL connector uses the default entry resoure URL

============Start teradata-to-datacatalog===========

==============Scrape metadata===============
INFO:root:Scrapping metadata from connection_args

1 table containers ready to be ingested...

==============Prepare metadata===============

--> database: Gcpuser
37 tables ready to be ingested...

==============Ingest metadata===============

DEBUG:google.auth._default:Checking /Users/Teradata/Apps/Cloud/GCP/teradata2dc-credentials.json for explicit credentials as part of auth process...
INFO:root:Starting to clean up the catalog...
DEBUG:google.auth.transport.requests:Making request: POST https://oauth2.googleapis.com/token
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): oauth2.googleapis.com:443
DEBUG:urllib3.connectionpool:https://oauth2.googleapis.com:443 "POST /token HTTP/1.1" 200 None
INFO:root:0 entries that match the search query exist in Data Catalog!
INFO:root:Looking for entries to be deleted...
INFO:root:0 entries will be deleted.

Starting to ingest custom metadata...

DEBUG:google.auth._default:Checking /Users/Teradata/Apps/Cloud/GCP/teradata2dc-credentials.json for explicit credentials as part of auth process...
INFO:root:Starting the ingestion flow...
DEBUG:google.auth.transport.requests:Making request: POST https://oauth2.googleapis.com/token
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): oauth2.googleapis.com:443
DEBUG:urllib3.connectionpool:https://oauth2.googleapis.com:443 "POST /token HTTP/1.1" 200 None
INFO:root:Tag Template created: projects/partner-integration-lab/locations/us-west1/tagTemplates/teradata_database_metadata
INFO:root:Tag Template created: projects/partner-integration-lab/locations/us-west1/tagTemplates/teradata_table_metadata
INFO:root:Tag Template created: projects/partner-integration-lab/locations/us-west1/tagTemplates/teradata_column_metadata
INFO:root:Entry Group created: projects/partner-integration-lab/locations/us-west1/entryGroups/teradata
INFO:root:1/38
INFO:root:Entry does not exist: projects/partner-integration-lab/locations/us-west1/entryGroups/teradata/entries/gcpuser
INFO:root:Entry created: projects/partner-integration-lab/locations/us-west1/entryGroups/teradata/entries/gcpuser
INFO:root: ^ [database] 34.105.107.155/gcpuser
INFO:root:Starting the upsert tags step
INFO:root:Processing Tag from Template: projects/partner-integration-lab/locations/us-west1/tagTemplates/teradata_database_metadata ...
INFO:root:Tag created: projects/partner-integration-lab/locations/us-west1/entryGroups/teradata/entries/gcpuser/tags/CWHNiGQeQmPT
INFO:root:2/38
INFO:root:Entry does not exist: projects/partner-integration-lab/locations/us-west1/entryGroups/teradata/entries/gcpuser_Categories
INFO:root:Entry created: projects/partner-integration-lab/locations/us-west1/entryGroups/teradata/entries/gcpuser_Categories
INFO:root: ^ [table] 34.105.107.155/gcpuser/Categories
INFO:root:Starting the upsert tags step
INFO:root:Processing Tag from Template: projects/partner-integration-lab/locations/us-west1/tagTemplates/teradata_table_metadata ...
INFO:root:Tag created: projects/partner-integration-lab/locations/us-west1/entryGroups/teradata/entries/gcpuser_Categories/tags/Ceij5G9t915o
INFO:root:38/38
INFO:root:Entry does not exist: projects/partner-integration-lab/locations/us-west1/entryGroups/teradata/entries/gcpuser_tablesv_instantiated_latest
INFO:root:Entry created: projects/partner-integration-lab/locations/us-west1/entryGroups/teradata/entries/gcpuser_tablesv_instantiated_latest
INFO:root: ^ [table] 34.105.107.155/gcpuser/tablesv_instantiated_latest
INFO:root:Starting the upsert tags step
INFO:root:Processing Tag from Template: projects/partner-integration-lab/locations/us-west1/tagTemplates/teradata_table_metadata ...
INFO:root:Tag created: projects/partner-integration-lab/locations/us-west1/entryGroups/teradata/entries/gcpuser_tablesv_instantiated_latest/tags/Ceij5G9t915o
INFO:root:
============End teradata-to-datacatalog============

Teradata VantageのメタデータをData Catalogで探索する

  • Data Catalog コンソールに移動し、 *Projects*の下にあるプロジェクト(例:Partner-integration-lab)をクリックします。右側のパネルにTeradataのテーブルが表示されます。

    グラフィカル ユーザー インターフェース

  • 目的のテーブル(CITY_LEVEL_TRANS)をクリックすると、このテーブルに関するメタデータが表示される。

    グラフィカル ユーザー インターフェース

クリーンアップ (オプション)

If you have any questions or need further assistance, please visit our community forum where you can get support and interact with other community members.
このページは役に立ちましたか?