概要
Databricks にて Lakehouse federation を BigQuery をソースにしている場合に、Databricks Runtime 16.1 以降のクラスターでは Spark Connector が利用されることがドキュメントに記述されており、その動作仕様を確認しました。 Spark Connector と JDBC のどちらが利用されているかを確認する方法を共有します。
2025年4月28日時点では、 Databricks SQL (Databricks SQL version 2025.15)では JDBC が利用されていました。
EXPLAIN 句による確認方法
Databricks 側で EXPLAIN 句により確認する方法
Databricks の EXPLAIN 句にて JDBC による接続なのか、 Spark Connector による接続なのかを確認できます。
%sql
EXPLAIN
SELECT * FROM bq_01_catalog.gc_test.test_table_02 WHERE id = 3;
Spark Connector が利用されている場合には、apache.spark.sql.connector
等の記述があることを確認できます。
JDBC が利用されている場合には、JDBC
等の記述があることを確認できます。
Google Cloud の Logs Explorer による確認方法
Google Cloud の Logs Explorer にて JDBC による接続なのか、 Spark Connector による接続なのかを確認できます。
timestamp >= "2025-04-28T07:41:00Z"
timestamp <= "2025-04-28T07:43:00Z"
Spark Connector が利用されている場合には、callerSuppliedUserAgent
という項目にspark-bigquery-connector
ではじまる値が確認できます。
JDBC が利用されている場合には、callerSuppliedUserAgent
という項目にSimbaJDBCDriverforGoogleBigQuery
ではじまる値が確認できます。