【问题标题】:Does spark load whole data from cassandra火花是否从卡桑德拉加载整个数据
【发布时间】:2017-08-18 17:50:36
【问题描述】:

我有以下代码。

Dataset<Row> kpiDF = spark.read().format("org.apache.spark.sql.cassandra")
.options(new HashMap<String, String>(){{put("keyspace",keyspace);put("table", table);}})
.load()
.filter("kpi='test'")

我的问题是,这将在哪里加载 cassandra 表中的所有数据,然后应用过滤器,或者它只会从 cassandra 加载“测试”kpi 数据?

【问题讨论】:

    标签: apache-spark cassandra spark-cassandra-connector


    【解决方案1】:

    如果列kpi 是分区键,那么 spark-cassandra-connector 将只读取相应的记录。

    默认情况下启用谓词下推。

    如果 cassandra 不能满足过滤条件,则 spark-cassandra-connector 将读取完整数据,然后应用过滤器。

    你可以使用df.explain检查过滤器是否被推送到cassandra。

    Predicate Pushdown in spark-cassandra-connector

    【讨论】:

      猜你喜欢
      • 2018-08-14
      • 2016-01-27
      • 2016-06-16
      • 2017-11-14
      • 2017-11-05
      • 1970-01-01
      • 2016-05-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多