日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Spark SQL 之 Performance Tuning & Distributed SQL Engine

 昵稱10504424 2015-12-15

Spark SQL 之 Performance Tuning & Distributed SQL Engine


轉(zhuǎn)載請注明出處:http://www.cnblogs.com/BYRans/

緩存數(shù)據(jù)至內(nèi)存(Caching Data In Memory)

Spark SQL可以通過調(diào)用sqlContext.cacheTable("tableName") 或者dataFrame.cache(),將表用一種柱狀格式( an in-memory columnar format)緩存至內(nèi)存中。然后Spark SQL在執(zhí)行查詢?nèi)蝿?wù)時,只需掃描必需的列,從而以減少掃描數(shù)據(jù)量、提高性能。通過緩存數(shù)據(jù),Spark SQL還可以自動調(diào)節(jié)壓縮,從而達到最小化內(nèi)存使用率和降低GC壓力的目的。調(diào)用sqlContext.uncacheTable("tableName")可將緩存的數(shù)據(jù)移出內(nèi)存。

可通過兩種配置方式開啟緩存數(shù)據(jù)功能:

  • 使用SQLContext的setConf方法
  • 執(zhí)行SQL命令 SET key=value

Cache-In-Memory

調(diào)優(yōu)參數(shù)(Other Configuration Options)

可以通過配置下表中的參數(shù)調(diào)節(jié)Spark SQL的性能。在后續(xù)的Spark版本中將逐漸增強自動調(diào)優(yōu)功能,下表中的參數(shù)在后續(xù)的版本中或許將不再需要配置。

optionsTunningPfms

分布式SQL引擎

使用Spark SQL的JDBC/ODBC或者CLI,可以將Spark SQL作為一個分布式查詢引擎。終端用戶或應(yīng)用不需要編寫額外的代碼,可以直接使用Spark SQL執(zhí)行SQL查詢。

運行Thrift JDBC/ODBC服務(wù)

這里運行的Thrift JDBC/ODBC服務(wù)與Hive 1.2.1中的HiveServer2一致??梢栽赟park目錄下執(zhí)行如下命令來啟動JDBC/ODBC服務(wù):

./sbin/start-thriftserver.sh

這個命令接收所有 bin/spark-submit 命令行參數(shù),添加一個 --hiveconf 參數(shù)來指定Hive的屬性。詳細的參數(shù)說明請執(zhí)行命令 ./sbin/start-thriftserver.sh --help 。
服務(wù)默認監(jiān)聽端口為localhost:10000。有兩種方式修改默認監(jiān)聽端口:

  • 修改環(huá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服務(wù):

./bin/beeline

連接到Thrift JDBC/ODBC服務(wù)

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

在非安全模式下,只需要輸入機器上的一個用戶名即可,無需密碼。在安全模式下,beeline會要求輸入用戶名和密碼。安全模式下的詳細要求,請閱讀beeline documentation的說明。

配置Hive需要替換 conf/ 目錄下的 hive-site.xml。

Thrift JDBC服務(wù)也支持通過HTTP傳輸發(fā)送thrift RPC messages。開啟HTTP模式需要將下面的配參數(shù)配置到系統(tǒng)屬性或 conf/: 下的 hive-site.xml

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

測試http模式,可以使用beeline鏈接JDBC/ODBC服務(wù):

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

運行Spark SQL CLI

Spark SQL CLI可以很方便的在本地運行Hive元數(shù)據(jù)服務(wù)以及從命令行執(zhí)行查詢?nèi)蝿?wù)。需要注意的是,Spark SQL CLI不能與Thrift JDBC服務(wù)交互。
在Spark目錄下執(zhí)行如下命令啟動Spark SQL CLI:

./bin/spark-sql

配置Hive需要替換 conf/ 下的 hive-site.xml 。執(zhí)行 ./bin/spark-sql --help 可查看詳細的參數(shù)說明 。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多