gpt4 book ai didi

java - 级联groupby示例

转载 作者:行者123 更新时间:2023-12-02 21:20:03 24 4
gpt4 key购买 nike

我最近不得不做级联工作。我以前从未有过使用分布式系统的经验,因此在理解如何进行这项工作时遇到了一些麻烦。

我有一个配置文件,其中有很多存储桶:

Bucket{
bucket_name: "X"
input_path: "s3://..."
key_column: 1
value_column: 2
multivalue: false
default_value:
type_column: int
}
...

基本上,我要做的就是使用它来收集一堆文件(每个文件都像一个tsv表,它将url键映射到某个值),然后按url分组。

基本上,这就是大纲的外观:
A --> |group |
B --> |by |--> output
C --> |url |

我想知道以下逻辑是否正确:
1)我需要为每个铲斗创建一个水龙头,即
Tap inputTap = new GlobHfs(new TextLine(), bucket.getInputPath());

2)我需要在所有管道中创建一个EACH管道(我不确定这一部分,我是否需要每个管道,我的过滤器/功能应该是什么?)。现在,我已经创建了一个“每个管道”,用于按选项卡分隔行。
RegexSplitGenerator splitter = new RegexSplitGenerator("\t");
Pipe tokenizedPipe = bucket.getBucketName(), new Field("Line"), splitter));

3)创建将所有这些标记化管道组合在一起的groupby管道。我不确定如何强制groupby管道仅选择键列,但是我现在使用的技术是:
Pipe finalPipe = new Groupby("Output Pipe", inputPipes, groupFields);

那么这是解决这个问题的正确逻辑吗?还是我的某些步骤多余或不正确?

谢谢!

最佳答案

你的想法对我来说很好。如果在点击读取输入文件时拆分记录,则可以跳过步骤2。

Tap inputTap = new Hfs(new TextDelimited("\t"), inputPath);

Cascading for the Impatient涵盖了如何实现您想要实现的目标,值得一看。

关于java - 级联groupby示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37665157/

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