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ù)功能:
調(diào)優(yōu)參數(shù)(Other Configuration Options)可以通過配置下表中的參數(shù)調(diào)節(jié)Spark SQL的性能。在后續(xù)的Spark版本中將逐漸增強自動調(diào)優(yōu)功能,下表中的參數(shù)在后續(xù)的版本中或許將不再需要配置。 分布式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ù):
這個命令接收所有
使用
連接到Thrift JDBC/ODBC服務(wù)
在非安全模式下,只需要輸入機器上的一個用戶名即可,無需密碼。在安全模式下,beeline會要求輸入用戶名和密碼。安全模式下的詳細要求,請閱讀beeline documentation的說明。 配置Hive需要替換 Thrift JDBC服務(wù)也支持通過HTTP傳輸發(fā)送thrift RPC messages。開啟HTTP模式需要將下面的配參數(shù)配置到系統(tǒng)屬性或
測試http模式,可以使用beeline鏈接JDBC/ODBC服務(wù):
運行Spark SQL CLISpark SQL CLI可以很方便的在本地運行Hive元數(shù)據(jù)服務(wù)以及從命令行執(zhí)行查詢?nèi)蝿?wù)。需要注意的是,Spark SQL CLI不能與Thrift JDBC服務(wù)交互。
配置Hive需要替換 |
|
來自: 昵稱10504424 > 《工作》