注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

Arrow Flight SQL

ベータ版

Arrow Flight SQL のサポートは開発のベータ版段階にあり、お使いのエンロールメントでは利用できない場合があります。開発が進行中のため、機能が変更される場合があります。Arrow Flight SQL の有効化を依頼するには、Palantir サポートにお問い合わせください。

Arrow Flight SQL ↗ は、SQL サーバーとやり取りするためのプロトコルです。Arrow Flight SQL は、Apache Arrow のインメモリー形式と Flight RPC プロトコルを使用して、効率的でポータブルなデータ転送を実現します。

Foundry は Arrow Flight SQL プロトコルを実装しているため、どの Flight SQL クライアントでも Foundry に接続できます。これにより、カスタム設定を必要とせずに、多くのサードパーティとの接続が可能になります。

Foundry リソースの一覧を見る

Arrow Flight SQL は、Foundry リソースを標準的なリレーショナルデータベースの概念に対応付けます。SQL クライアントは、次の階層でリソースを表示します。

Foundry の概念SQL の概念
名前空間カタログ
プロジェクトスキーマ
データセットテーブル
フィールド列

JDBC ドライバー

Arrow Flight SQL は、DBeaver ↗ や DataGrip ↗ など、JDBC ベースのクライアントアプリケーションで使用できる JDBC ドライバー ↗を提供しています。Foundry で JDBC ドライバーを設定して使用するには、以下の手順に沿って進めてください。

タイムスタンプの表示

バージョン 19.0.0 時点では、クライアントアプリケーションのローカルタイムゾーンが UTC でない場合、Flight SQL JDBC ドライバーが誤ったタイムスタンプ値を表示することがあります。アプリケーションによるタイムスタンプの読み取り方によっては、タイムゾーンのオフセットが逆方向に適用される場合があります。表示される時刻は、ローカルの UTC オフセットの2倍ずれることがあります。たとえば、UTC+1 のクライアントでは、正しい値より2時間遅れたタイムスタンプが表示される場合があります。クライアントアプリケーションでタイムゾーンを設定できる場合は、UTC に設定することを推奨します。

パート1:JDBC ドライバーをインストールする

JDBC ドライバー(.jar ファイル)↗をダウンロードします。ダウンロードしたら、クライアントアプリケーションのドキュメントで JDBC 接続の設定用に指定されている適切な場所にファイルを配置します。

パート2:JDBC 接続を設定する

JDBC 接続文字列の形式は次のとおりです。

jdbc:arrow-flight-sql://<FOUNDRY_HOSTNAME>:443
  • FOUNDRY_HOSTNAME は、Foundry 環境のホスト名です(例:subdomain.palantirfoundry.com)。

JDBC クライアントでドライバークラスを明示的に指定する必要がある場合は、org.apache.arrow.driver.jdbc.ArrowFlightJdbcDriver を指定します。

トークンで認証する

Foundry の設定ページから生成したセキュリティトークンを使用して認証します。トークンを取得する手順については、ユーザー生成トークンのドキュメントを参照してください。

クライアントアプリケーションにユーザー名とパスワードの項目がある場合は、ユーザー名を token、パスワードをユーザー生成トークンに設定します。これがトークンを指定する推奨方法です。

クライアントアプリケーションに個別の資格情報の項目がない場合は、代わりに接続文字列にトークンを直接含めます。

jdbc:arrow-flight-sql://<FOUNDRY_HOSTNAME>:443/?token=<TOKEN>

OAuth 2.0 クライアント資格情報で認証する

サービス間接続では、ユーザー生成トークンの代わりに、登録済みのサードパーティアプリケーションで OAuth 2.0 クライアント資格情報フローを使用して認証できます。サードパーティアプリケーションは、クライアントシークレットを設定した機密クライアントとして登録されている必要があります。パブリッククライアントには対応していません。

JDBC ドライバーに次の接続プロパティを設定します。

プロパティ値
oauth.flowclient_credentials
oauth.tokenUrihttps://<FOUNDRY_HOSTNAME>/multipass/api/oauth2/token
oauth.clientId登録済みのサードパーティアプリケーションのクライアントID。
oauth.clientSecret登録済みのサードパーティアプリケーションのクライアントシークレット。
oauth.scopefoundry-sql-server:query

クライアントアプリケーションには、クエリ対象のリソースに対する該当する SQL 操作権限が付与されている必要があります。詳細については、SQL 権限を参照してください。

ドライバーがサポートする OAuth オプションの一覧については、Flight SQL JDBC ドライバーの OAuth ドキュメント ↗ を参照してください。

(任意)パート3:SQL クエリを実行する

クライアントアプリケーションが対応している場合は、Foundry データセットから行を返す SQL クエリをテストします。

Copied!
1 SELECT * FROM `/Path/To/Dataset` LIMIT 10

クライアントアプリケーションによっては、代わりにプロジェクトの一覧を見てデータセットを選択し、データにアクセスできる場合があります。

JDBC 接続パラメーターの一覧については、Flight SQL ドキュメント ↗を参照してください。

ロールと権限

Arrow Flight SQL 経由での SQL クエリへのアクセスは、SQL 権限によって管理されます。詳細については、SQL 権限を参照してください。