我正在做一个hbase和spark的性能基准测试,并且停留在spark需要10分钟以上的时间来读取和合并当前9700万行中的100万行。下面是有关配置和数据的详细信息。
硬件:
Total 4 servers.
1 - Master
3- Slaves
Each server config
CPU: Intel i5 processor
RAM: 16GB
HDD: 1TB (not SSD)
软件:
Hbase - 1.2.1
Spark - 1.6.2
Phoenix - 4.8.1
Hadoop - 2.6
数据大小:
Total regions - 20
Total data size: 25 GB
Total rows: 97 million.
我们已经应用了我从hbase指南和internet中了解到的性能调优配置,下面是hbase-site.xml中的重要配置
<property>
<name>hfile.block.cache.size</name>
<value>0.4</value>
</property>
<property>
<name>hbase.client.scanner.caching</name>
<value>10000</value>
</property>
<property>
<name>hbase.regionserver.handler.count</name>
<value>30</value>
</property>
<property>
<name>hbase.regionserver.global.memstore.upperLimit</name>
<value>0.3</value>
</property>
<property>
<name>hbase.storescanner.parallel.seek.enable</name>
<value>true</value>
</property>
<property>
<name>hbase.storescanner.parallel.seek.threads</name>
<value>20</value>
</property>
<property>
<name>hbase.regionserver.wal.codec</name>
<value>org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec</value>
</property>
<property>
<name>phoenix.query.timeoutMs</name>
<value>7200000</value>
</property>
<property>
<name>hbase.hregion.max.filesize</name>
<value>10737418240</value>
</property>
<property>
<name>hbase.thrift.connection.max-idletime</name>
<value>1800000</value>
</property>
<property>
<name>hbase.client.write.buffer</name>
<value>20971520</value>
</property>
<property>
<name>hbase.rpc.timeout</name>
<value>7200000</value>
</property>
<property>
<name>phoenix.schema.dropMetaData</name>
<value>false</value>
</property>
<property>
<name>phoenix.query.keepAliveMs</name>
<value>7200000</value>
</property>
<property>
<name>hbase.regionserver.lease.period</name>
<value>7200000</value>
</property>
<property>
<name>hbase.client.scanner.timeout.period</name>
<value>7200000</value>
</property>
我想知道还有什么可以调整,以提高查询响应时间,这是>10分钟了。
查询如下 select catColumn, sum(amount) from "BigTable" where timeStamp between <startTime> and <endTime> group by catColumn;
但是合并是在spark中使用Dataframe函数完成的
暂无答案!
目前还没有任何答案,快来回答吧!