0

我一直在 Sap Spark 控制器以及 Base Spark 服务器的 Vora 和 Hive 中运行一些测试。Controller 和 Spark Thrift 服务器具有相同的配置。

12列
10M行表
680Mb

Spark Server 和 SAP Controller 都以 --master YARN 和相同数量的执行器、执行器内存和内核启动。控制器和 Thrift 服务器位于 Hadoop 集群中的同一台服务器上,我运行一个测试关闭该控制器/Thriftserver,然后启动另一个进行测试。

下面的所有数字都来自Thrift Server Job Completion TimeSAP Controller Job Completion Time,我不等待结果在 HANA 或 Beeline 或 Spark-Shell 中显示。

结果:

Spark-Shell -> Spark Thriftserver -> Hive
Select Column 返回时间:13s
计数返回时间:1.2s

Spark-Shell -> Spark Thriftserver -> Vora
Select Column 返回时间:5s
计数返回时间:100ms

Hana -> Sap Controller -> Hive
Select Column 返回时间:45s
计数返回时间:4s

Hana -> Sap Controller -> Vora
Select Column 返回时间:24s
计数返回时间:2.1s

Beeline -> Spark Thriftserver -> Hive
Select Column 返回时间:35s
计数返回时间:1.9s

Beeline -> Spark Thriftserver -> Vora
Select Column 返回时间:55s
计数返回时间:1.2s

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

4

1 回答 1

0

经过一些分区更改。我已经让 SAP Controller 以更快的速度从Hive中选择数据,Vora 的速度仍然差不多。似乎更少的拆分数量可以极大地帮助 Controller 将数据从 31 个文件拆分到 10 个文件,将查询时间减少了 75% 以上

当前结果:

Spark-Shell -> Spark Thriftserver -> Hive
Select Column 返回时间:14s
计数返回时间:1s

Hana -> Sap Controller -> Hive
Select Column 返回时间:10s
计数返回时间:5s

Beeline -> Spark Thriftserver -> Hive
Select Column 返回时间:7s
计数返回时间:1.3s

计数似乎仍然缓慢返回,但不是问题。

于 2016-05-06T14:58:07.537 回答