Apache Phoenix:关于写入权重表

时间:2015-05-11 09:34:02

标签: hbase phoenix

我想大致了解具有二级索引的写入重表的upsert性能。

索引包含表的所有字段(实际上,非行键字段的数量是一个,这是varbinary类型)。

我进行了粗略测试,结果如下:

  • 具有二级索引的表:4.3分钟
  • 没有二级索引的表:53秒

使用带有PhoenixInputFormat的Apache Spark程序完成测试。

二级索引是全局可变的。

对于我来说,与没有二级索引的表相比,结果有点太慢了。

慢了大约4.7倍。我希望它会是2~2.5倍左右。 (因为它实际写入2个表)

这是典型的性能损失吗?

如果是这样,我认为我必须放弃一个(全局的,可变的)二次索引,用于写入繁重的表。

更新

我的测试集群由1个名称节点和3个数据节点组成。 (它很小)

数据节点机器规格如下:(绝不强大)

  • CPU:Core i7-4790(核心数:4,线程数:8)
  • RAM:32GB(8GB x 4)
  • HDD:8TB(2TB x 4)
  • 网络:1Gb

软件规格:

  • Hadoop:Hortonworks HDP 2.2(Hadoop 2.6)
  • Apache Spark:1.3.0
  • Apache Phoenix:4.3.1

上传的记录数约为600万。它只有一列(数据类型为varbinary),它很小。 (远低于1k)

0 个答案:

没有答案