0304 Distributed SQL Engine

轉載請注明出處,謝謝合作~

該篇中的示例暫時只有 Scala 版本~

分布式 SQL 引擎

Spark SQL 還可以通過 JDBC/ODBC 或者命令行接口接口作為分布式查詢引擎提供服務。在這種模式下,終端用戶或者應用程序可以通過執(zhí)行 SQL 查詢直接與 Spark SQL 進行交互,不需要寫任何代碼。

啟動 Thrift JDBC/ODBC 服務

這里的 Thrift JDBC/ODBC 服務和 Hive 的 HiveServer2 一樣,你可以通過 beeline 腳本測試 Spark 或者相應版本的 Hive 提供的 JDBC 服務。

運行 Spark 目錄中的腳本來啟動 Thrift JDBC/ODBC 服務:

./sbin/start-thriftserver.sh

這個腳本可以接受任何 bin/spark-submit 腳本可用的命令行參數,外加一個 --hiveconf 選項來指定 Hive 屬性??梢赃\行 ./sbin/start-thriftserver.sh --help 獲得完整的選項列表。默認情況下,服務的監(jiān)聽地址為 localhost:10000,可以通過環(huán)境變量自定義監(jiān)聽地址,即:

export HIVE_SERVER2_THRIFT_PORT=<listening-port>
export HIVE_SERVER2_THRIFT_BIND_HOST=<listening-host>
./sbin/start-thriftserver.sh \
  --master <master-uri> \
  ...

或者通過系統(tǒng)屬性定義:

./sbin/start-thriftserver.sh \
  --hiveconf hive.server2.thrift.port=<listening-port> \
  --hiveconf hive.server2.thrift.bind.host=<listening-host> \
  --master <master-uri>
  ...

現在可以用 beeline 腳本測試 Thrift JDBC/ODBC 服務:

./bin/beeline

beeline 中連接 JDBC/ODBC 服務:

beeline> !connect jdbc:hive2://localhost:10000

Beeline 會要求輸入用戶名和密碼。在非安全模式下,輸入系統(tǒng)的用戶名和空的密碼即可。在安全模式下,參見 beeline documentation。

關于 Hive 的配置,需要將 hive-site.xmlcore-site.xmlhdfs-site.xml文件放到 conf/ 目錄中去。

還可以使用 Hive 的 beeline 腳本。

Thrift JDBC 服務還支持通過 HTTP 發(fā)送 thrift RPC 信息。請使用下面的配置來開啟 HTTP 模式,可以通過環(huán)境變量或者 conf/ 目錄中的配置文件 hive-site.xml 進行配置。

hive.server2.transport.mode - Set this to value: http
hive.server2.thrift.http.port - HTTP port number to listen on; default is 10001
hive.server2.http.endpoint - HTTP endpoint; default is cliservice

通過 beeline 連接 JDBC/ODBC 服務的 HTTP 端口來進行測試:

beeline> !connect jdbc:hive2://<host>:<port>/<database>?hive.server2.transport.mode=http;hive.server2.thrift.http.path=<http_endpoint>

如果關閉了會話之后執(zhí)行了 CTAS 語句,必須將配置文件 hive-site.xml 中的 fs.%s.impl.disable.cache 設置為 true,詳情參見 [SPARK-21067]。

啟動 Spark SQL CLI

Spark SQL CLI 是一個方便的工具,可以以本地模式運行 Hive metastore 服務,并通過命令行執(zhí)行查詢語句。注意,Spark SQL CLI 不能連接 Thrift JDBC 服務。

運行 Spark 目錄中的腳本來啟動 Spark SQL CLI:

./bin/spark-sql

關于 Hive 的配置,需要將 hive-site.xml,core-site.xmlhdfs-site.xml文件放到 conf/ 目錄中去??梢赃\行 ./sbin/spark-sql --help 獲得完整的選項列表。

?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容