JindoTable提供Native ORC Reader,支持查詢加速。系統默認不開啟加速,開啟之后可以提升Spark或Presto讀取ORC文件的性能。
前提條件
ORC文件已存放至JindoFS或OSS。
暫不支持HDFS加速。
提升Spark性能
開啟JindoTable ORC加速。
說明Spark調用讀取ORC時,需要使用DataFrame或者Spark-SQL API來啟用加速。
全局設置
詳細請參見全局設置Spark。
Job級別設置
使用spark-shell或者spark-sql時可以添加Spark的啟動參數。
--conf spark.sql.extensions=io.delta.sql.DeltaSparkSessionExtension,com.aliyun.emr.sql.JindoTableExtension
作業詳情請參見Spark Shell作業配置或Spark SQL作業配置。
檢查開啟情況。
登錄Spark History Server UI頁面。
在Spark的SQL頁面,查看執行任務。
當出現JindoDataSourceV2Scan時,表示開啟成功。否則,請排查步驟1中的操作。
提升Presto性能
因為Presto已經內置JindoTable ORC加速的catalog: hive-acc
,所以您可以直接使用catalog: hive-acc
來啟用查詢加速。
示例如下。
presto --server https://emr-header-1.cluster-xxx:7778/ --catalog hive-acc --schema default
emr-header-1.cluster-xxx
是emr-header-1節點的hostname。
全局設置Spark
進入Spark頁面。
在頂部菜單欄處,根據實際情況選擇地域和資源組。
單擊上方的集群管理頁簽。
在集群管理頁面,單擊相應集群所在行的詳情。
在左側導航欄,選擇 。
在Spark服務頁面,單擊配置頁簽。
搜索參數spark.sql.extensions,修改參數值為io.delta.sql.DeltaSparkSessionExtension,com.aliyun.emr.sql.JindoTableExtension。
保存配置。
單擊保存。
在確認修改對話框中,輸入執行原因,單擊確定。
重啟ThriftServer。
在右上角選擇 。
在執行集群操作對話框中,輸入執行原因,單擊確定。
在確認對話框中,單擊確定。