如何提高 Vora 性能

How to Improve Vora Performance

我一直在 运行从 Sap Spark Controller 和 Base Spark Server 对 Vora 和 Hive 进行一些测试。 Controller和Spark Thrift server的配置相同

12 列
1000 万行 table
680Mb

Spark Server 和 SAP Controller 都以 --master YARN 和相同数量的执行器、执行器内存和内核启动。 Controller和Thrift Server在Hadoop Cluster的同一台服务器上,我运行一个测试关闭那个Controller/Thriftserver,然后启动另一个测试。

以下所有数字均来自 Thrift 服务器作业完成时间SAP 控制器作业完成时间,我不等待结果在 HANA 或 Beeline 或 Spark 中显示-Shell.

结果:

Spark-Shell -> Spark Thriftserver -> Hive
Select 列 returns 在 : 13s
计数 returns 在 : 1.2s

Spark-Shell -> Spark Thriftserver -> Vora
Select 列 returns 在 : 5s
计数 returns:100 毫秒

Hana -> Sap 控制器 -> Hive
Select 列 returns 在 : 45s
计数 returns : 4s

Hana -> Sap Controller -> Vora
Select 列 returns 在 : 24s
计数 returns : 2.1s

Beeline -> Spark Thriftserver -> Hive
Select 列 returns 在 : 35s
计数 returns 中:1.9s

Beeline -> Spark Thriftserver -> Vora
Select 列 returns 中:55s
计数 returns : 1.2s

是否有任何重要的性能调整技巧可以帮助控制器?我可以 select 从 Hive 以比 Controller 从 Vora 更快的速度 select 这一事实很有趣。

经过一些分区更改。我已经让 SAP 控制器以更快的速度从 Hive 获取数据 select,Vora 的速度仍然大致相同。 似乎较少数量的拆分对控制器有很大帮助 将数据从 31 个文件拆分为 10 个文件可将查询时间减少 75% 以上

当前结果:

Spark-Shell -> Spark Thriftserver -> Hive
Select 列 returns 在 : 14s
计数 return 秒:1 秒

Hana -> Sap 控制器 -> Hive
Select 列 returns 在 : 10s
数 return 秒:5 秒

Beeline -> Spark Thriftserver -> Hive
Select 列 returns in : 7s
在 : 1.3s

中计数 returns 计数似乎 return 缓慢但不是问题。