Apache spark 加载表时从phoenix进行筛选
我想知道这到底是怎么回事Apache spark 加载表时从phoenix进行筛选,apache-spark,pyspark,phoenix,Apache Spark,Pyspark,Phoenix,我想知道这到底是怎么回事 df = sqlContext.read \ .format("org.apache.phoenix.spark") \ .option("table", "TABLE") \ .option("zkUrl", "10.0.0.11:2181:/hbase-unsecure") \ .load() 如果这是加载整个表,或者它将延迟加载,以了解是否将应用筛选 在第一种情况下,如何告诉phoe
df = sqlContext.read \
.format("org.apache.phoenix.spark") \
.option("table", "TABLE") \
.option("zkUrl", "10.0.0.11:2181:/hbase-unsecure") \
.load()
如果这是加载整个表,或者它将延迟加载,以了解是否将应用筛选
在第一种情况下,如何告诉phoenix在加载spark数据帧之前过滤表
谢谢在您执行需要数据的操作之前,不会加载数据。中间应用的所有过滤器:
df.where($"foo" === "bar").count
如果可能的话,会被火花压下。您可以通过运行
explain()
来查看谓词下推的结果。我知道它适用于其他类型的加载,但我现在无法在加载之前放置过滤器:S.(我与Pypark和phoenix在一起)@PabloCastilla如果您编写spark。(..).load()。其中(…).count
,则spark将自动执行谓词下推。你不必处理它,你完全正确。我在explain()函数中看到了这一点。谢谢explain()函数如下所示:*(1)过滤器(isnotnull(更新时间为68)和(更新时间为68>2019-04-23 00:00:00))+-*(1)扫描Phoenix关系。。。。。推式过滤器:。。。。。