gpt4 book ai didi

hadoop - 在 hive 或 Pig 中创建序列号

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

我面临数据转换问题:我这里的表格有 3 列:客户端、事件、时间戳。我基本上想根据时间戳为给定客户端的所有事件分配一个序列号,这基本上是我在下面添加的“序列”列。

Client  Event   TimeStamp                Sequence
C1 Ph 2014-01-30 12:15:23 1
C1 Me 2014-01-31 15:11:34 2
C1 Me 2014-01-31 17:16:05 3

C2 Me 2014-02-01 09:22:52 1
C2 Ph 2014-02-01 17:22:52 2

我不知道如何在 hive 或 Pig 中创建这个序列号。你有什么线索吗?

提前致谢!

纪尧姆

最佳答案

将所有记录放在一个包中(通过分组所有),按时间戳字段对包内的元组进行排序,然后使用 Enumerate功能。

类似下面的内容(我没有执行代码,因此您可能需要稍微清理一下):

// assuming input contains 3 columns - client, event, timestamp
input2 = GROUP input all;
input3 = FOREACH input2
{
sorted = ORDER input BY timestamp;
sorted2 = Enumerate(sorted);
GENERATE FLATTEN(sorted2);
}

关于hadoop - 在 hive 或 Pig 中创建序列号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25645632/

25 4 0
文章推荐: python - 在 Hadoop 上使用 mrjob 启 Action 业时出错
文章推荐: c# - 如何使用 HTMLAgilityPack 访问多个
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com