Databricks ODBC ドライバーのドライバー機能設定
この記事では、 Databricks ODBC ドライバーの特別なドライバー機能と高度なドライバー機能の設定を構成する方法について説明します。
Databricks ODBC ドライバーには、次の特殊で高度なドライバー機能設定が用意されています。
ODBCで初期スキーマを設定する
ODBCドライバーでは、接続構成としてSchema=<schema-name>
を設定することでスキーマを指定できます。これは、USE <schema-name>
を実行した場合と同等です。
ODBCでのANSI SQL-92クエリーのサポート
ODBCドライバーは、ANSI SQL-92言語のSQLクエリーを許可しており、クエリーをDatabricks SQL言語に変換します。ただし、アプリケーションがDatabricks SQLを直接生成する場合、またはアプリケーションがDatabricksに固有の非ANSI SQL-92標準SQL構文を使用する場合、Databricksでは接続構成としてUseNativeQuery=1
を設定することをお勧めしています。この設定を使用すると、ドライバーはSQLクエリーをそのままDatabricksに渡します。
ODBCでのArrowシリアライズ
ODBC ドライバー バージョン 2.6.15 以降では、 Apache Arrow を使用する最適化されたクエリ結果のシリアル化形式がサポートされています。
ODBCでのCloud Fetch
ODBCドライバー バージョン 2.6.17 以降では、 Databricksデプロイメントで設定されたクラウド ストレージを通じてクエリ結果を取得する機能であるクラウド フェッチがサポートされています。
クエリー結果は、Arrowでシリアライズされた最大20 MBのファイルとして内部のDBFSストレージにアップロードされます。クエリー完了後にドライバーがフェッチ要求を送信すると、Databricksはアップロードされたファイルへの署名付きURL を生成して返します。ODBCドライバーは、そのURLを使用して、結果をDBFSから直接ダウンロードします。
Cloud Fetchは、1 MBを超えるクエリー結果にのみ使用されます。結果が小さい場合、Databricksから直接取得されます。
Databricksは24時間後に削除対象としてマークされた蓄積ファイルを自動的にガベージコレクションします。これらのマークが付いたファイルは、さらに24時間後に完全に削除されます。
クラウド Fetch は、E2 ワークスペースでのみ使用できます。 また、対応する Amazon S3 バケットでバージョニングを有効にしないでください。 バージョニングを有効にしている場合でも、「 詳細設定」の手順に従ってクラウド Fetch を有効にすることができます。
Cloud Fetchアーキテクチャの詳細については、「BIツールで広帯域幅接続を実現した方法」をご覧ください。
高度な構成
DBFSルート で S3 バケットのバージョン管理 を有効にしている場合、Databricks はアップロードされたクエリ結果の古いバージョンのガベージ コレクションを実行できません。アップロードされたクエリ結果の古いバージョンをパージする S3 ライフサイクルポリシーを最初に設定することをお勧めします。
ライフサイクルポリシーを設定するには、以下の手順を実行します。
AWSコンソールで、S3サービスに移動します。
ワークスペースのルートストレージとして使用するS3バケットをクリックします。
「管理」タブを開き、「ライフサイクルルールを作成する」を選択します。
ライフサイクルルール名として任意の名前を選択します。
プレフィックスフィールドは空のままにしておきます。
「ライフサイクルルールのアクション」で「オブジェクトの最新ではないバージョンを完全に削除する」を選択します。
「オブジェクトが最新バージョンでなくなってからの日数」で値を設定します。ここでは値1を使用することをお勧めします。
「ルールを作成する」をクリックします。
ログ記録を有効にする
用の ドライバーでログ記録を有効にするには、関連するODBC WindowsODBCDSN の データソース アドミニストレーターで次のフィールドを設定します。
[Log Level] フィールドを [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
を参照してください。