Databricks ODBC ドライバー (Simba) のドライバー機能設定
このページでは、 Databricks ODBC ドライバーの特別な高度なドライバー機能設定を構成する方法について説明します。
Databricks ODBC ドライバーには、次の特殊で高度なドライバー機能設定が用意されています。
- ODBC で初期スキーマを設定する
- 追跡用のクエリタグ
- ODBC での ANSI SQL-92 クエリのサポート
- ODBC で大きなクエリ結果を抽出する
- ODBC での Arrow のシリアル化
- ODBC での Cloud Fetch
- 高度な設定
- ログ記録を有効にする
ODBC で初期スキーマを設定する
ODBCドライバーでは、接続構成としてSchema=<schema-name>を設定することでスキーマを指定できます。これは、USE <schema-name>を実行した場合と同等です。
追跡用のクエリタグ
プレビュー
この機能はプライベートプレビュー段階です。アクセスをリクエストするには、アカウント チームにお問い合わせください。
追跡と分析の目的で、 SQLクエリに key-value タグを添付します。 クエリ タグは、クエリの識別と分析のためにsystem.query.historyテーブルに表示されます。
接続にクエリ タグを追加するには、 ODBC接続構成にssp_query_tagsパラメーターを含めます。
クエリ タグを、コンマで区切られたキーと値のペアとして定義します。各キーと値はコロンで区切られます。たとえば、 ssp_query_tags=team:engineering,env:prod 。
ODBC での ANSI SQL-92 クエリのサポート
従来の Spark ODBC ドライバーは、ANSI SQL-92 方言の SQL クエリを受け入れ、それをサーバーに送信する前に Databricks SQL に変換します。
アプリケーションが Databricks SQL を直接生成するか、Databricks 固有の非 ANSI SQL-92 構文を使用する場合は、接続構成でUseNativeQuery=1を設定します。この設定により、SQL クエリが変換されずにそのまま Databricks に渡されます。
ODBC で大きなクエリ結果を抽出する
大規模なクエリ結果を抽出するときに最高のパフォーマンスを実現するには、次の最適化が組み込まれた最新バージョンの ODBC ドライバーを使用します。
ODBC での矢印のシリアル化
ODBC ドライバー バージョン 2.6.15 以降では、 Apache Arrow を使用した最適化されたクエリ結果のシリアル化形式がサポートされています。
ODBC での Cloud Fetch
ODBCドライバー バージョン 2.6.17 以降は、 Databricksデプロイで構成されたクラウド ストレージを通じてクエリ結果をフェッチする機能であるクラウド フェッチをサポートしています。
クエリを実行すると、Databricks は結果を最大 20 MB の Arrow シリアル化ファイルとして内部DBFS ストレージの場所にアップロードします。クエリが完了すると、ドライバーはフェッチ要求を送信し、Databricks はアップロードされたファイルへの署名済み URLを返します。ドライバーはこれらの URL を使用して、DBFS から直接結果をダウンロードします。
Cloud Fetch は、1 MB を超えるクエリ結果にのみ適用されます。 ドライバーは Databricks から小さな結果を直接取得します。
Databricks は蓄積されたファイルを自動的にガベージ コレクションし、24 時間後に削除対象としてマークし、さらに 24 時間後に完全に削除します。
Cloud Fetch には、バージョニングが有効になっていない E2 ワークスペースとAmazon S3バケットが必要です。 バージョニングが有効になっている場合は、クラウドフェッチを有効にするための高度な構成を参照してください。
Cloud Fetchアーキテクチャの詳細については、「BIツールで広帯域幅接続を実現した方法」をご覧ください。
高度な構成
S3DBFSルート で バケットのバージョン管理を 有効にすると、Databricks アップロードされたクエリ結果の古いバージョンをガベージ コレクションできません。まず、アップロードされたクエリ結果の古いバージョンを消去する S3 ライフサイクル ポリシーを設定します。
ライフサイクル ポリシーを設定するには:
- AWSコンソールで、 S3 サービスに移動します。
- ワークスペースのルートストレージに使用する S3 バケット をクリックします。
- [管理] タブを開き、 [ライフサイクル ルールの作成] をクリックします。
- ライフサイクル ルール 名を入力します。
- プレフィックスフィールドは空のままにしておきます。
- 「 ライフサイクルルールのアクション 」で「 オブジェクトの最新ではないバージョンを完全に削除する 」を選択します。
- オブジェクトが非最新になってからの日数 に値を設定します。Databricks では 1 日の使用を推奨しています。
- 「 ルールを作成する 」をクリックします。
ログ記録を有効にする
ODBC ドライバーでのログ記録を有効にするには、 LogLevelプロパティを1 (重大なイベントのみ) から6 (すべてのドライバー アクティビティ) までの値に設定します。LogPathプロパティを、ログ ファイルを保存するフォルダーの完全パスに設定します。
詳細については、『 Databricks ODBCドライバー ガイド』のConfiguring Loggingセクションを参照してください。