gpt4 book ai didi

apache-spark - spark 谓词下推不适用于 phoenix hbase 表

转载 作者:可可西里 更新时间:2023-11-01 15:21:53 30 4
gpt4 key购买 nike

我正在处理 spark-hive-hbase 集成。这里使用 phoenix hbase 表进行集成。

Phoenix : **apache-phoenix-4.14**
HBase : **hbase-1.4**
spark : **spark-2.3**
hive : **1.2.1**

我正在使用 spark thrift 服务器并使用 jdbc 访问表。

我测试的几乎所有基本功能都运行良好。但是当我从 spark 提交查询时,它会在没有 where 条件的情况下提交给 phoenix 并且所有过滤都发生在 spark 端。

如果表有数十亿的数据,我们就不能这样做。

示例:

Input-query: select * from hive_hbase where rowid=0;

Query-submitted: PhoenixQueryBuilder: Input query : select /*+ NO_CACHE */ "rowid","load_date","cluster_id","status" from hive_hbase

这是一个错误吗?请建议是否有任何方法可以强制查询以 where 条件(过滤器)(仅限 jdbc)提交。

感谢和问候拉胡尔

最佳答案

上述行为不是错误,而是 spark 的一个特性,这将确保过滤器不会发生在数据库端,而是在 spark 端完成,因此确保非 rowkey 过滤器的性能和执行可以很快完成。如果您仍想出于所有意图和目的推送谓词,您可以使用 phoenix-spark 或者自己编辑 spark 的谓词下推代码。以下是供您引用的链接

  1. https://community.hortonworks.com/questions/87551/predicate-pushdown-support-in-hortonworks-hbase-co.html
  2. http://www.waitingforcode.com/apache-spark-sql/predicate-pushdown-spark-sql/read

关于apache-spark - spark 谓词下推不适用于 phoenix hbase 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51435922/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com