製品をチェック

無償トライアル:

無償トライアルへ

製品の情報と無償トライアルへ:

Presto ODBC Driver

Presto ODBC Driver を使って、ODBC 接続をサポートするあらゆるアプリケーション・ツールからPresto にデータ連携。

Presto データにデータベースと同感覚でアクセスして、Presto のTables に使い慣れたODBC インターフェースで双方向連携。

データ連携でお困りですか?

お問い合わせ

PolyBase で外部データソースとしてPresto を連携利用


CData ODBC Driver for Presto とSQL Server 2019 のPolyBase を使って、リアルタイムPresto に外部データソースとしてアクセス。


presto ロゴ画像
odbc ロゴ画像

ODBC

SQL Server PolyBase ロゴ画像

SQL Server のPolyBase は、データベーステーブルをクエリするTransact-SQL 構文を使って、外部データにクエリする仕組みです。 CData ODBC Driver for Presto を組み合わせて使うことで、SQL Server データと同じようにPresto へのアクセスが可能です。 本記事では、外部データソースと外部テーブルの作成から、T-SQL クエリを使ってライブPresto データへ接続を認可するところまで説明します。

CData ODBC ドライバーは、ドライバーに組み込まれた最適化されたデータ処理により、PolyBase でライブPresto データを送受信するための圧倒的なパフォーマンスを提供します。SQL Server からPresto に複雑なSQL クエリを発行すると、ドライバーはフィルタや集計などのサポートされているSQL 操作をPresto に直接プッシュダウンし、組み込みSQL エンジンを利用して、サポートされていない操作(一般的にはSQL 関数とJOIN 操作) をクライアント側で処理します。また、PolyBase を使用することで、単一のクエリを使用して分散ソースからデータをプルし、SQL Server データをPresto と結合することもできます。

Presto への接続

未指定の場合は、初めにODBC DSN(data source name)で接続プロパティを指定します。ドライバーのインストールの最後にアドミニストレーターが開きます。Microsoft ODBC Data Source Administrator を使用して、ODBC DSN を作成および構成できます。PolyBase を使用してSQL Server に外部データソースを作成するには、System DSN を構成します。(CData Presto Sys は自動的に作成されます。)

Presto への接続には、まずはServer およびPort を接続プロパティとして設定します。それ以外の追加項目は接続方式によって異なります。

TLS/SSL を有効化するには、UseSSL をTRUE に設定します。

LDAP で認証

LDAP で認証するには、次の接続プロパティを設定します:

  • AuthScheme: LDAP に設定。
  • User: LDAP で接続するユーザー名。
  • Password: LDAP で接続するユーザーのパスワード。

Kerberos 認証

KERBEROS 認証を使う場合には、以下を設定します:

  • AuthScheme: KERBEROS に設定。
  • KerberosKDC: 接続するユーザーのKerberos Key Distribution Center (KDC) サービス。
  • KerberosRealm: 接続するユーザーのKerberos Realm 。
  • KerberosSPN: Kerberos Domain Controller のService Principal Name。
  • KerberosKeytabFile: Kerberos principals とencrypted keys を含むKeytab file。
  • User: Kerberos のユーザー。
  • Password: Kerberos で認証するユーザーのパスワード。

[接続のテスト]をクリックして、DSN がPresto に正しく接続できているかを確認します。[テーブル]タブに移動し、Presto のテーブル定義を確認します。

Presto データの外部データソースを作成

接続を構成したのち、外部データソースのマスター暗号化キーと資格情報データベースを作成する必要があります。

マスター暗号化キーの作成

以下のSQL コマンドを実行して新しいマスターキー[ENCRYPTION]を作成し、外部データソースの資格情報を暗号化します。

CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'password';

資格情報データベースの作成

以下のSQL コマンドを実行してPresto に接続されている外部データソースの資格情報を作成します。

Note:Presto は認証にUser やPassword を必要としないため、IDENTITY とSECRET に任意の値を使用できます。

CREATE DATABASE SCOPED CREDENTIAL presto_creds
WITH IDENTITY = 'username', SECRET = 'password';

Presto の外部データソースを作成

以下のSQL コマンドを実行し、以前作成したDSN と資格情報を使用して、PolyBase でPresto の外部データソースを作成します。

NoteSERVERNAME とPORT は、Presto のServer とPort の接続プロパティに対応しています。PUSHDOWN は、デフォルトでON に設定されているため、ODBC Driver は、サーバー側の処理を利用して複雑なクエリを実行できます。

CREATE EXTERNAL DATA SOURCE cdata_presto_source
WITH ( 
  LOCATION = 'odbc://SERVERNAME[:PORT]',
  CONNECTION_OPTIONS = 'DSN=CData Presto Sys',
  -- PUSHDOWN = ON | OFF,
  CREDENTIAL = presto_creds
);

Presto の外部テーブルを作成

外部データソースを作成したら、CREATE EXTERNAL TABLE ステートメントを使用してSQL Server インスタンスからPresto にリンクします。テーブルカラムの定義は、CData ODBC Driver for Presto によって公開されているものと一致しなければなりません。DSN Configuration Wizard の[テーブル]タブを参照し、テーブルの定義を確認できます。

Table definition in the DSN Configuration Wizard (Salesforce is shown)

CREATE TABLE ステートメントのサンプル

以下は、Presto Customer に基づいて外部テーブルを作成するステートメントの一例です。

CREATE EXTERNAL TABLE Customer(
  FirstName [nvarchar](255) NULL,
  LastName [nvarchar](255) NULL,
  ...
) WITH ( 
  LOCATION='Customer',
  DATA_SOURCE=cdata_presto_source
);

SQL Server インスタンスでPresto の外部テーブルを作成すると、ローカルデータとリモートデータを同時にクエリできるようになります。CData ODBC Driver に組み込まれているクエリ処理により、可能な限り多くのクエリ処理がPresto にプッシュされることで、ローカルのリソースと計算リソースが解放されます。ODBC Driver for Presto の30日間無料トライアルをダウンロードし、SQL Server データでライブPresto データを使い始めましょう。