【问题标题】:Hadoop Cassandra CqlInputFormat paginationHadoop Cassandra CqlInputFormat 分页
【发布时间】:2015-05-25 22:18:18
【问题描述】:

我是 Cassandra 的新手,有以下问题:

我有一个 7 节点 Cassandra (v2.0.11) 集群和一个包含 10k 行的表。 我运行了一个从该表读取数据的 hadoop 作业(数据节点当然位于 cassandra 节点上),我看到只有 7k 行被读取到映射阶段。

我检查了CqlInputFormat 源代码并注意到构建了一个 CQL 查询来选择节点本地日期,并且还添加了 LIMIT 子句(默认为 1k)。这样7k读行就可以解释了:
7 nodes * 1k limit = 7k rows read total

可以使用CqlConfigHelper更改限制:

CqlConfigHelper.setInputCQLPageRowSize(job.getConfiguration(), "1000");

请帮助我解决以下问题:
这是理想的行为吗?
为什么CqlInputFormat 不会翻阅其余行?
这是一个错误还是我应该增加InputCQLPageRowSize 值?
如果我想读取表中的所有数据并且不知道行数怎么办?

【问题讨论】:

    标签: hadoop cassandra cassandra-2.0


    【解决方案1】:

    我的问题与 cassandra 2.0.11 中的一个错误有关,该错误在底层 CQL 查询运行中添加了一个奇怪的 LIMIT 子句以将数据读取到地图任务:

    我将该问题发布到 cassandra jira:https://issues.apache.org/jira/browse/CASSANDRA-9074

    事实证明,该问题与 cassandra 2.0.12 中修复的以下错误密切相关:https://issues.apache.org/jira/browse/CASSANDRA-8166

    【讨论】:

      猜你喜欢
      • 2015-05-10
      • 2019-02-27
      • 2016-11-15
      • 2015-08-23
      • 1970-01-01
      • 2015-08-16
      • 2019-01-22
      • 2017-08-27
      • 2019-02-22
      相关资源
      最近更新 更多