Teradata 上の外部データにアクセスするための PolyBase の構成
適用対象: SQL Server
この記事では、SQL Server インスタンス上で PolyBase を使用して、Teradata 上の外部データに対してクエリを実行する方法について説明します。
前提条件
PolyBase をインストールしていない場合は、「PolyBase のインストール」をご覧ください。 インストールに関する記事では、前提条件について説明します。
データベース スコープ資格情報より前に、マスター キーを作成しておく必要があります。
Teradata に対して PolyBase を使用するには、VC++ 再頒布可能パッケージが必要です。
Teradata の外部データ ソースを構成する
Teradata データ ソースのデータに対してクエリを実行するには、外部テーブルを作成して外部データを参照する必要があります。 このセクションでは、これらの外部テーブルを作成するサンプル コードを示します。
このセクションでは以下の Transact-SQL コマンドが使用されます。
- CREATE DATABASE SCOPED CREDENTIAL (Transact-SQL)
- CREATE EXTERNAL DATA SOURCE (Transact-SQL)
- CREATE EXTERNAL TABLE (Transact-SQL)
- CREATE STATISTICS (Transact-SQL)
Teradata ソースにアクセスするために、データベース スコープ資格情報を作成します。
/* specify credentials to external data source * IDENTITY: user name for external source. * SECRET: password for external source. */ CREATE DATABASE SCOPED CREDENTIAL credential_name WITH IDENTITY = 'username', Secret = 'password';
重要
PolyBase 用の Teradata ODBC コネクタでサポートされるのは、Kerberos 認証ではなく、基本認証のみです。
CREATE EXTERNAL DATA SOURCE を使用して外部データ ソースを作成します。
/* LOCATION: Location string should be of format '<vendor>://<server>[:<port>]'. * PUSHDOWN: specify whether computation should be pushed down to the source. ON by default. * CONNECTION_OPTIONS: Specify driver location * CREDENTIAL: the database scoped credential, created above. */ CREATE EXTERNAL DATA SOURCE external_data_source_name WITH (LOCATION = teradata://<server address>[:<port>], -- PUSHDOWN = ON | OFF, CREDENTIAL = credential_name);
CREATE EXTERNAL TABLE で外部テーブルを作成します。
/* * LOCATION: Two-part identifier indicating the database and the table name. * DATA_SOURCE: Data source created above. */ CREATE EXTERNAL TABLE [TableC] ( [MyKey] INT NOT NULL, [RandomInt] INT NOT NULL, [RandomFloat] DECIMAL(13, 2) NOT NULL) WITH ( LOCATION = 'TD_SERVER_DB.TableC', DATA_SOURCE = external_data_source_name)
省略可能: 外部テーブルの統計を作成します。
最適なクエリのパフォーマンスを得るために、外部テーブルの列、特に結合、フィルター、集計に使用される列に対して統計を作成することをお勧めします。
CREATE STATISTICS statistics_name ON customer (C_CUSTKEY) WITH FULLSCAN;
重要
外部データ ソースを作成すると、CREATE EXTERNAL TABLE コマンドを使用して、そのソース上でクエリ可能なテーブルを作成することができます。
次のステップ
さまざまなデータ ソースへの外部データ ソースと外部テーブルの作成に関するその他のチュートリアルについては、「PolyBase Transact-SQL リファレンス」を参照してください。
PolyBase の詳細については、SQL Server PolyBase の概要に関する記事をご覧ください。