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。
在右上角选择 。
在执行集群操作对话框中,输入执行原因,单击确定。
在确认对话框中,单击确定。