gpt4 book ai didi

hadoop - 增加 pig 的映射器

转载 作者:可可西里 更新时间:2023-11-01 16:14:50 25 4
gpt4 key购买 nike

我正在使用 pig 通过 CqlStorage 从 Cassandra 加载数据。我有 4 个数据节点,每个节点可以有 7 个映射器,Cassandra 中有大约 3000 万个数据。当我这样跑的时候

使用 CqlStorage 加载 'cql://keyspace/columnfamily' 它需要 27 个映射器才能运行。

但是如果我在加载函数中给出 where 子句,比如

LOAD 'cql://keyspace/columnfamily?where_clause=id%3D100' 使用 CqlStorage 它总是需要一个映射器。

谁能帮我增加mapper

最佳答案

从您的 WHERE 子句看来,您的映射输入将只是一个键,这就是您只获得一个映射器的原因。 Hadoop 将根据输入键的数量分配映射器。如果您只有一个输入键,则其他映射器将无能为力。

底线是,如果您在 where 子句中指定您的分区键,您将获得一个映射器(因为这是它的分布方式)。根据评论,我认为您正在为不止一名学生进行分析,因此您没有理由指定分区键。您似乎也没有任何对二级索引有意义的列。所以我不确定你为什么还要有 where 子句。

从您的数据模型看来,您必须映射所有数据才能获得学生和时间范围组合的聚合分数。您可以更改为时间序列数据模型并在 where 子句中成功过滤,但您当前的模型不支持此功能。

关于hadoop - 增加 pig 的映射器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23696081/

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