作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
嗨,我是第一次玩 Pig,我很好奇如何处理将一个字段拆分成多个其他字段。
我有一个包,A,如下图:
grunt> Dump A;
(text, text, Mon Mar 07 12:00:00 CDT 2016)
我想做的是将日期时间字段拆分为多个字段,以便我可以探索数据集的分布,并按星期几、月份、年份等进行分组。
我一直在研究标记化,但不确定这是否满足我的需求,因为我需要/想要将字段名称添加到包中或创建嵌套包。
有什么想法吗?
最佳答案
假设该值已经是日期时间数据类型,那么您可以使用以下函数提取单个元素。内置函数引用 DateTime Functions in PIG
B = FOREACH A GENERATE f1,f2,
GetDay(f3) as f3_Day,
GetMonth(f3) as f3_Month,
GetYear(f3) as f3_Year,
GetHour(f3) as f3_Hour,
GetMinute(f3) as f3_Minute,
GetSecond(f3) as f3_Second;
如果数据类型是字符数组,则使用 ToDate() 函数将其转换为日期时间并提取日期部分。
B = FOREACH A GENERATE f1,f2,ToDate(f3,'choose your datetime format') as f3_Date;
C = FOREACH B GENERATE f1,f2,
GetDay(f3_Date) as f3_Day,
GetMonth(f3_Date) as f3_Month,
GetYear(f3_Date) as f3_Year,
GetHour(f3_Date) as f3_Hour,
GetMinute(f3_Date) as f3_Minute,
GetSecond(f3_Date) as f3_Second;
关于hadoop - pig 帮 : Splitting a Field into Multiple Fields,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35851439/
嗨,我是第一次玩 Pig,我很好奇如何处理将一个字段拆分成多个其他字段。 我有一个包,A,如下图: grunt> Dump A; (text, text, Mon Mar 07 12:00:00 CD
如何添加架构中未定义的固定字段(例如日期或月份)?我运行了以下 pig 脚本以将固定日期添加到我的结果表中,并收到以下错误消息:Invalid field projection。方案中不存在投影字段
我是一名优秀的程序员,十分优秀!