gpt4 book ai didi

hadoop - 在hadoop中合并两个文件

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

我是hadoop框架的新手。因此,如果有人可以指导我,这将对我有所帮助。
我有两种类型的文件。
dirA /-> file_a,file_b,file_c

dirB /-> another_file_a,another_file_b ...

目录A中的文件包含事务处理信息。

所以像:

   id, time_stamp
1 , some_time_stamp
2 , some_another_time_stamp
1 , another_time_stamp

因此,这种信息分散在dirA中的所有文件中。
现在要做的第一件事是:我给出一个时间范围(上周说),我想找到在该时间范围之间存在的所有唯一ID。

因此,保存文件。

现在,dirB文件包含地址信息。
就像是:
    id, address, zip code
1, fooadd, 12345
and so on

因此,第一个文件输出的所有唯一ID。我将它们作为输入,然后找到地址和邮政编码。

基本上,最终输出就像sql merge。

找到一个时间范围内的所有唯一ID,然后合并地址信息。

我将不胜感激任何帮助。
谢谢

最佳答案

您将其标记为 pig ,所以我猜您正在寻找使用它来完成此工作的想法吗?如果是这样,我认为这是一个不错的选择-这对 pig 来说真的很容易!

times = LOAD 'dirA' USING PigStorage(', ') AS (id:int, time:long);
addresses = LOAD 'dirB' USING PigStorage(', ') AS (id:int, address:chararray, zipcode:chararray);
filtered_times = FILTER times BY (time >= $START_TIME) AND (time <= $END_TIME);
just_ids = FOREACH filtered_times GENERATE id;
distinct_ids = DISTINCT just_ids;
result = JOIN distinct_ids BY id, addresses BY id;

其中 $START_TIME$END_TIME是参数,您可以将其传递给脚本。

关于hadoop - 在hadoop中合并两个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12586725/

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