注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
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 に接続できます。これにより、カスタム設定を必要とせずに、多くのサードパーティとの接続が可能になります。
Arrow Flight SQL は、Foundry リソースを標準的なリレーショナルデータベースの概念に対応付けます。SQL クライアントは、次の階層でリソースを表示します。
| Foundry の概念 | SQL の概念 |
|---|---|
| 名前空間 | カタログ |
| プロジェクト | スキーマ |
| データセット | テーブル |
| フィールド | 列 |
Arrow Flight SQL は、DBeaver ↗ や DataGrip ↗ など、JDBC ベースのクライアントアプリケーションで使用できる JDBC ドライバー ↗を提供しています。Foundry で JDBC ドライバーを設定して使用するには、以下の手順に沿って進めてください。
バージョン 19.0.0 時点では、クライアントアプリケーションのローカルタイムゾーンが UTC でない場合、Flight SQL JDBC ドライバーが誤ったタイムスタンプ値を表示することがあります。アプリケーションによるタイムスタンプの読み取り方によっては、タイムゾーンのオフセットが逆方向に適用される場合があります。表示される時刻は、ローカルの UTC オフセットの2倍ずれることがあります。たとえば、UTC+1 のクライアントでは、正しい値より2時間遅れたタイムスタンプが表示される場合があります。クライアントアプリケーションでタイムゾーンを設定できる場合は、UTC に設定することを推奨します。
JDBC ドライバー(.jar ファイル)↗をダウンロードします。ダウンロードしたら、クライアントアプリケーションのドキュメントで 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 クライアント資格情報フローを使用して認証できます。サードパーティアプリケーションは、クライアントシークレットを設定した機密クライアントとして登録されている必要があります。パブリッククライアントには対応していません。
JDBC ドライバーに次の接続プロパティを設定します。
| プロパティ | 値 |
|---|---|
oauth.flow | client_credentials |
oauth.tokenUri | https://<FOUNDRY_HOSTNAME>/multipass/api/oauth2/token |
oauth.clientId | 登録済みのサードパーティアプリケーションのクライアントID。 |
oauth.clientSecret | 登録済みのサードパーティアプリケーションのクライアントシークレット。 |
oauth.scope | foundry-sql-server:query |
クライアントアプリケーションには、クエリ対象のリソースに対する該当する SQL 操作権限が付与されている必要があります。詳細については、SQL 権限を参照してください。
ドライバーがサポートする OAuth オプションの一覧については、Flight SQL JDBC ドライバーの OAuth ドキュメント ↗ を参照してください。
クライアントアプリケーションが対応している場合は、Foundry データセットから行を返す SQL クエリをテストします。
Copied!1SELECT * FROM `/Path/To/Dataset` LIMIT 10
クライアントアプリケーションによっては、代わりにプロジェクトの一覧を見てデータセットを選択し、データにアクセスできる場合があります。
JDBC 接続パラメーターの一覧については、Flight SQL ドキュメント ↗を参照してください。
Arrow Flight SQL 経由での SQL クエリへのアクセスは、SQL 権限によって管理されます。詳細については、SQL 権限を参照してください。