问题标签 [cascading]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
631 浏览

hadoop - 简化用于聚合销售数据的级联管道

我对 Cascading 和 Hadoop 都很陌生,所以要温柔... :-D

我想我发现自己过度设计了一些东西。基本上我的情况是我有一个带有 9 个字段的管道分隔文件。我想使用不同的分组计算这 9 个字段的一些汇总统计信息。结果应该是 10 个字段,其中只有 6 个是计数或总和。到目前为止,我最多有 4 个 Unique 管道、4 个 CountBy 管道、1 个 SumBy、1 个 GroupBy、1 个 Every、2 Each、5 个 CoGroups 和其他几个。我需要添加另一个小功能,我能看到的唯一方法是添加 2 个过滤器、2 个额外的 CoGroups 和 2 个额外的管道。这一切似乎只是为了计算一些汇总统计数据而过大。所以我想我真的误解了一些东西。

我的输入文件如下所示:

对于库存、服务或组项目,项目类型为“I”、“S”或“G”,客户属于组。其余的应该是不言自明的

我想要的结果是:

项目ID是一个常数,客户访问是客户在一个月中进来买东西的天数

我现在使用的设置使用 TextDelimited Tap 作为我的源来读取文件并将记录传递到每个管道,该管道使用 DateParser 来解析交易日期并添加年、月和日字段。到目前为止,一切都很好。这就是它失控的地方。

我将流从那里分成 5 个单独的流来处理我想要的每个聚合字段。然后我将所有结果连接到 5 个 CoGroup 管道中,通过 Insert 发送结果(插入项目 ID)并通过 TextDelimited sink Tap 写入。

有没有比这样分成 5 个流更简单的方法?前四个流在不同的字段上做几乎完全相同的事情。例如,第一个流使用 Unique 管道来获取唯一的 invoiceID,然后使用 CountBy 计算具有相同 storeID、年份和月份的记录数。这给了我按年和月为每个商店创建的唯一发票的数量。然后有一个流对 groupID 做同样的事情,另一个对 customerID 做同样的事情。

有什么简化这个的想法吗?必须有更简单的方法。

0 投票
2 回答
2002 浏览

hadoop - 部分聚合与组合器哪个更快?

有关于级联/烫伤如何优化地图侧评估的通知 他们使用所谓的部分聚合。它实际上是比组合器更好的方法吗?一些常见的hadoop任务(例如字数)是否有任何性能比较?如果是这样,hadoop 将来会支持这个吗?

0 投票
1 回答
769 浏览

scala - 如何在 scala 中执行超时操作?

上下文:我想编写烫伤作业(hadoop)来抓取页面,并且我想在 url 提取上设置超时(在 URLConnection 上没有超时,我想要其他超时情况的通用解决方案),即地图功能。

我正在考虑在所有资源释放后一些超时后被杀死的期货,因为它是内存关键代码。不确定在 scala API 中使用什么。

0 投票
2 回答
2228 浏览

hadoop - 工作流工具比较:Oozie Vs Cascading

我正在寻找一种工作流工具来运行复杂的 map-reduce 作业。我想到了 Oozie,但也想探索 Cascading。是否有使用级联 API 链接现有 M/R 作业的示例代码或示例?另外,你能提供 Oozie Vs Cascading 的比较吗?

0 投票
2 回答
375 浏览

hadoop - Changing Schemas with Hadoop Cascading

I'm trying to figure out how to use cascading against an archive of data whose schema is additive over time. Why I mean by additive is that it will start out with 3 columns, for example. Then in the next release it might have 5 columns. These columns follow standard CSV layouts. My understanding is that if I specify a schema to be 5 columns long and the old schema is only 3, then Cascading will fail.

Is there a way to tell cascading to fill in the missing columns? Like a default = null?

0 投票
1 回答
781 浏览

cascading - 使用烫伤从 HBase 读取

我对 Cascading/Scalding 非常陌生,并且无法弄清楚从 HBase 读取数据的热度。

我在 HBase 中有一张表,其中存储了扑克游戏的手牌历史记录(以非常简单的方式:)id -> hand, serialized with ProtoBuf。下面的工作应该遍历整个历史,并建立一个所有玩家的字典:

但是,当我运行上面的作业时,会抛出错误

,这意味着得到的数据flatMap不是我可以直接使用的字节数组。

我错过了什么?

0 投票
3 回答
2190 浏览

java - 如何在hadoop中读取由特殊字符分隔的文本源

我的数据格式使用 \0 而不是换行符。所以默认的 hadoop textLine 阅读器不起作用。如何将其配置为读取由特殊字符分隔的行?

如果无法配置 LineReader,也许可以应用特定的流处理器(tr "\0" "\n") 不确定如何执行此操作。

0 投票
2 回答
5590 浏览

hadoop - Hadoop Cascading - 创建一个源,两个接收器的流

我正在使用 Cascading 2 创建 Hadoop 作业,并尝试创建一个从单个源开始的流。在将几个函数应用于数据后,我需要拆分流,以便使用此数据创建两个单独的报告(在两个单独的接收器中)。

目前,这给了我错误“java.lang.IllegalArgumentException:无法添加重复的接收器:firstPipe”,但即使在弄乱了一段时间之后,我也遇到了与流程设置有关的各种其他问题。

有人可以解释如何构造这种形式的流(一个源,两个汇)吗?我需要创建一个 Cascade 吗?还是在拆分之前需要一个中间接收器来保存数据?

请帮忙!

0 投票
1 回答
694 浏览

mapreduce - 如何使用 map-reduce 级联跟踪大量统计信息?

我有一系列 map-reduce 作业来处理用户数据(使用 Cascading 框架实现),我想跟踪很多细粒度的统计信息(我可以有 100 到 1000 个用户和每个用户 20 个统计信息,所以,可能总共有 5000 到 10.000 个统计数据)。我想使用 map-reduce 计数器来构建这些统计信息,因为在代码中使用它们非常方便,但是 map-reduce 计数器的数量有限制(默认为 120),根据这篇文章:http ://developer.yahoo.com/blogs/hadoop/posts/2010/08/apache_hadoop_best_practices_a/ 如果我有超过 20/50 个自定义计数器,我不应该使用它们。

问题:有没有一种适当的方法可以在这个 map-reduce 上下文中使用类似计数器的模式来跟踪我的统计数据?我所说的类似计数器的意思是,可以在我的代码中随处访问计数器,并能够在需要的地方增加它们。

感谢提前注册

0 投票
5 回答
3462 浏览

java - 级联示例编译失败?

cleanJar在 shell 中,我在 Impatient/part1 目录中输入了 gradle 。输出如下。错误是“找不到 org.apache.hadoop.mapred.JobConf 的类文件”。为什么编译失败?