Databricks ODBC ドライバーのドライバー機能の設定
この記事では、Databricks ODBC ドライバーの特殊および高度なドライバー機能設定を構成する方法について説明します。
Databricks ODBC ドライバーには、次の特殊かつ高度なドライバー機能設定が用意されています。
- ODBC での初期スキーマの設定
- ODBC での ANSI SQL-92 クエリのサポート
- ODBC での大きなクエリ結果の抽出
- ODBC での Arrow シリアル化
- ODBC での Cloud Fetch
- ログ記録を有効化する
ODBC で初期スキーマを設定する
ODBC ドライバーでは、接続構成として Schema=<schema-name>
を設定することにより、スキーマを指定できます。 これは、USE <schema-name>
の実行に相当します。
ODBC での ANSI SQL-92 クエリのサポート
ODBC ドライバーは、ANSI SQL-92 言語で SQL のクエリを受け入れ、このクエリを Databricks SQL 言語に変換します。 ただし、アプリケーションで Databricks SQL が直接生成される場合、またはアプリケーションが Azure Databricks 固有の ANSI 以外の SQL-92 標準 SQL 構文を使用する場合、Databricks は接続構成として UseNativeQuery=1
を設定することを推奨します。 この設定を使用すると、ドライバーは SQL クエリを Azure Databricks に逐語的に渡します。
ODBC で大きなクエリ結果を抽出する
大きなクエリ結果を抽出するときに最高のパフォーマンスを実現するには、次の最適化を備えた最新バージョンの ODBC ドライバーを使用します。
ODBC での Arrow シリアル化
ODBC ドライバー バージョン 2.6.15 以降では、Apache Arrow を使う最適化されたクエリ結果のシリアル化形式がサポートされています。
ODBC での Cloud Fetch
ODBC ドライバーバージョン 2.6.17 以降では、Cloud Fetch がサポートされています。この機能は、Azure Databricks デプロイで設定されたクラウド ストレージを通じてクエリ結果をフェッチします。
クエリ結果は、最大 20 MB の Arrow シリアル化ファイルとして、内部 DBFS の保存場所にアップロードされます。 クエリの完了後にドライバーがフェッチ要求を送信すると、Azure Databricks は、アップロードされたファイルに Shared Access Signature を生成して返します。 ODBC ドライバーは、この URL を使用して、DBFS から直接、結果をダウンロードします。
Cloud Fetch は、1 MB を超えるクエリ結果に対してのみ使用されます。 それより小さなクエリ結果は Azure Databricks から直接取得されます。
Azure Databricks は自動的に、24時間後の削除対象としてマークされている累積ファイルのガベージコレクションを行います。 このマークが付いたファイルは、さらに 24 時間後に完全に削除されます。
クラウド フェッチ アーキテクチャの詳細については、「BI ツールを使用した広帯域接続の実現方法」を参照してください。
ログの有効化
Windows 用 ODBC ドライバーでログ記録を有効にするには、関連する DSN の ODBC データ ソース アドミニストレーターで次のフィールドを設定します。
- [ログ レベル] フィールドを、重大なイベントのみをログに記録する FATAL から、すべてのドライバー アクティビティをログに記録する TRACE に設定します。
- [ログ パス] フィールドを、ログ ファイルを保存するフォルダーへの完全パスに設定します。
- [最大ファイル数] フィールドを、保持するログ ファイルの最大数に設定します。
- [最大ファイル サイズ] フィールドを、各ログ ファイルの最大サイズ (メガバイト単位) に設定します。
Windows 以外のコンピューターの ODBC ドライバーでログ記録を有効にするには、関連する DSN または DSN レス接続文字列で次のプロパティを設定します。
LogLevel
プロパティを、重大なイベントのみをログに記録する1
から、すべてのドライバー アクティビティをログに記録する6
に設定します。LogPath
プロパティを、ログ ファイルを保存するフォルダーへの完全なパスに設定します。LogFileCount
プロパティを、保持するログ ファイルの最大数に設定します。LogFileSize
プロパティを、各ログ ファイルの最大サイズ (バイト単位) に設定します。
詳細については、Databricks JDBC ドライバー ガイドの Configuring Logging Options on Windows
と Configuring Logging Options on a Non-Windows Machine
に関するセクションを参照してください。