LoginSignup
9
1

More than 1 year has passed since last update.

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

Posted at

著者 Wenjie Tehan
最終更新日 2022年2月14日

警告
本記事はTeradata CorporationのサイトGetting Startedに掲載された内容を抄訳したものです。掲載内容の正確性・完全性・信頼性・最新性を保証するものではございません。正確な内容については、原本をご参照下さい。
また、修正が必要な箇所や、ご要望についてはコメントをよろしくお願いします。

概要

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

画像1.png

・スクレイプ Teradata Vantageに接続し、利用可能なすべてのメタデータを取得する。
・準備する。Data Catalogエンティティでメタデータを変換し、タグを作成する
・インジェストする。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の新しいインスタンスが必要な場合は、Google CloudAzureAWSのクラウドにVantage Expressという無料版をインストールすることができます。また、VMwareVirtualBox、またはUTMを使用して、ローカルマシン上でVantage Expressを実行することもできます。

・Data Catalog Admin ロールを持つ Google サービスアカウント
・アカウント用に作成されたCloud Consoleプロジェクト(例:Partner-integration-lab)
・課金が有効
・Google Cloud SDKのインストール初期化
Pythonがインストールされている
Pipのインストール

手順

① データカタログAPIを使用可能にする
② Teradata Data Catalog Connectorをインストールする
③ 実行
④ Teradata VantageのメタデータをData Catalogで調査する

データカタログAPIを有効にする

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

画像2.png

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

画像3.png

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

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

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

GoogleCloud_Login
gcloud auth login

・Googleのログインページが開くので、Googleアカウントを選択し、次のページでAllowをクリックします。
・次に、デフォルトプロジェクトの設定がまだの場合は設定します。

GoogleCloud_ConfigSet
gcloud config set project <project id>

virtualenvのインストール

Teradata Data Catalog Connectorは、分離されたPython環境にインストールすることをお勧めします。そのために、まずvirtualenvをインストールします。

Windows

Install_Virtualenv_Win
pip install virtualenv
virtualenv --python python3.6 <your-env>
<your-env>\Scripts\activate

MacOS

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

Linux

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

Data Catalog Teradata Connectorのインストール

Windows

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

MacOS

Install_TeradataConnector_Max
pip install google-datacatalog-teradata-connector

Linux

Install_TeradataConnector_Linux
pip install google-datacatalog-teradata-connector

環境変数の設定

Set_Environment
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 データベースへのエ ントリポイントを確立します。

Run_Set_EntryPoint
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コマンドの出力例です。

Result_Set_EntryPoint
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============

Data Catalog を使用して Teradata Vantage メタデータを調査する。

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

画像4.png

・興味のあるテーブル(例:CITY_LEVEL_TRANS)をクリックすると、このテーブルに関するメタデータが表示されます。

画像5.png

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

・データカタログからメタデータをクリーンアップします。これを行うには、https://github.com/GoogleCloudPlatform/datacatalog-connectors-rdbms/blob/master/google-datacatalog-teradata-connector/tools/cleanup_datacatalog.py をローカルディレクトリにコピーします。
・このファイルがあるディレクトリに移動し、以下のコマンドを実行します。

GoogleCloud_CleanUp
python cleanup_datacatalog.py --datacatalog-project-ids=$TERADATA2DC_DATACATALOG_PROJECT_ID

Teradata Vantageへのお問合せ

Teradata Vantage へのお問合せ

9
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
1