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

アーキテクチャ

このセクションで説明する外部SQL接続とBIツールの統合は、Foundry SQL Serverというサービスによって提供されています。このサービスは、Foundryのデータセットに対する読み取り専用のクエリを行うための軽量SQLセッションとステートメントの管理を提供します。Palantirは、JDBCとODBCのドライバを提供しており、これらのドライバを利用して、オープンスタンダードを使用したこのサービスとのクライアント間の対話を容易にし、また、これらのドライバを利用する特定のサードパーティのプラットフォームのプラグイン実装を提供します。

対応している SQL の方言

対応しているSQLの方言は ANSIODBC、そして SparkSQL です。

これらの方言のサポートは、読み取り専用の機能に限定されていることに注意してください。

実行エンジン

Foundry SQL Serverは、クエリの複雑さに基づいて自動的に実行エンジンを選択します。各実行エンジンは、全体的なパフォーマンス、結果のサイズの制限、およびサポートされるクエリの複雑さについてトレードオフが存在します。

Spark エンジン

クエリのデフォルトの実行エンジンは、Spark SQLの機能を利用します。このエンジンは、集約、結合、順序付け、フィルター処理など、完全なSQL計算機能をサポートしています。この実行エンジンを使用する必要があるクエリは、結果をクライアントアプリケーションに配信する前に、Sparkドライバのメモリに結果を集約する必要があるため、データのスケールに関する制限が適用されます。これらの制限は、結果の計算の行数とバイト数の関数です。

直接読み取りエンジン

可能な場合、Foundry SQL Serverは直接読み取りエンジンを使用してクエリを実行します。クエリがSQL計算を必要としない場合、Foundry SQL ServerはSpark SQLをバイパスし、データセットのバッキングファイルから直接レコードをストリームします。直接読み取りのクエリは、完全なSQL計算を必要とするクエリと同じスケールの制限は適用されません。

クエリが直接読み取り可能な条件は次のとおりです:

  1. データセットのファイルがサポートされている形式であること。現在、直接読み取りがサポートしている形式は、Parquet、CSV、Avro、および Soho です。
  2. クエリがSQL計算を必要としないこと。集約、結合、順序付けの述語を含むクエリは、直接読み取り可能ではありません。
  3. クエリが直接読み取り可能でないタイプの行から選択しないこと。直接読み取り可能でないタイプは arraymap、そして struct です。
  4. 複雑なフィルターは直接読み取り可能ではありません。直接読み取り可能であるためには、フィルターは col op constant の形式でなければならず、演算子は次の演算子のいずれかでなければなりません:(=, !=, <>, >, >=, <, <=).

例えば、a/b/carray/map/struct のタイプでない場合、SELECT a AS x, b AS y, c AS z FROM table LIMIT x の形式(またはそれより単純な)の任意のクエリは、直接読み取り可能です。

注意事項

  • この機能は、Foundryプラットフォーム外のクライアント、例えばPowerBI、Tableau、または他の下流のアプリケーションをサポートするために意図されています。Foundryプラットフォーム内のSQLを利用した変換については、SQL Transforms を参照してください。
  • Foundry SQL Serverのアーキテクチャは、中規模のデータスケールに対するアドホックな対話型クエリのために最適化されています。