首页 文章

Apache Phoenix vs Hive-Spark

提问于
浏览
6

什么更快/更容易转换为SQL,接受SQL脚本作为输入:Spark SQL作为Hive高延迟查询或Phoenix的一层速度?如果是这样,怎么样?我需要对数据进行大量的upserts / join / grouping . [HBase的]

在Cassandra CQL之上是否有任何替代方案可以支持上述(以实时方式加入/分组)?

因为我想利用MLlib,所以我很可能一定要使用Spark . 但是为了处理应该是我的选择的数据呢?

谢谢,克拉斯特

2 回答

  • 2

    http://phoenix-hbase.blogspot.com/我更确定在Hbase上的Phoenix会更快地运行 .

    这里是测试查询的示例查询和PC要求:从10M和100M行的表中选择count(1) . 数据是5个窄列 . 区域服务器数量:4(HBase堆:10GB,处理器:6核@ 3.3GHz Xeon)
    enter image description here
    因为Phoenix使用HBASE客户端接口加载所有查询,并且仅使用查询引擎映射sql任务以便在HBase中执行map reduce任务

  • 2

    你有几个选择(据我所知)

    • Apache phoenix是低延迟和中型表(1M - 100M行,但要注意具有多列的表!)处理的不错选择 . 凤凰的一大优点是它很容易上手 . 我公司已经 Build 了HBase集群(使用kerberos) . 要使用Phoenix,我需要的只是HMaster URL,Hbase-site.xml和一个用于实现操作的keytab . 非常快速的读取和写入是不错的(它对我来说较慢,因为我需要动态地执行它,因此我强制使用Java客户端API而不是批量加载)

    • 带Spark的Hive也很棒 . 我不确定它在凤凰城的表现有多棒 . 由于Spark在内存中做了大部分事情,我认为它应该很快 . 但是,我可以告诉你,如果你想将SQL访问作为某种API公开,使用spark变得非常困难 .

    • Presto是一款出色的产品,它提供类似Spark的处理能力和SQL接口,允许您从多个来源(Hive,Cassandra,MySQL ..etc)互连数据

    希望这可以帮助 .

相关问题