如何根据给定的格式在 pig 中组合两行?
Posted
技术标签:
【中文标题】如何根据给定的格式在 pig 中组合两行?【英文标题】:How to combine two lines in pig based on the given format? 【发布时间】:2016-07-06 20:58:59 【问题描述】:我正在尝试处理文件。截至目前,我得到如下所示的输出。
input file:-
c=1,2,3
a,b,c,d,a
d,e,f
g,h,i,i
c=2,3,4
j,k,l
m,n,a,h
c=3,2,5
d,g,a
s,fs,a
expecting an output like:-
c=1,2,3,a,b,c,d,a
c=1,2,3,d,e,f
c=1,2,3,g,h,i,i
c=2,3,4,j,k,l
c=2,3,4,m,n,a,h
c=3,2,5,d,g,a
c=3,2,5,s,fs,a
有没有其他方法可以得到类似的输出。
Another output format:-
c=1,2,3,(a,b,c,d,a),(d,e,f),(g,h,i,i)
c=2,3,4,(j,k,l),(m,n,a,h)
c=3,2,5,(d,g,a),(s,fs,a)
谁能帮帮我。正在尝试使用猪,但离这个还很远,我正在尝试使用猪来解决这个问题以进行一些练习。
感谢和问候, 安库什·雷迪
【问题讨论】:
编写自己的 UDF。 【参考方案1】:我认为猪不可能。 Pig 是并行处理,因此它无法知道文件中的记录顺序。所以我建议你在使用 pig 处理之前使用 bash 脚本或其他工具对其进行预处理。
【讨论】:
如果文件太大,那么我们也无法使用 bash 脚本处理它,这需要几个小时才能完成。任何其他建议@Duc LT。谢谢。以上是关于如何根据给定的格式在 pig 中组合两行?的主要内容,如果未能解决你的问题,请参考以下文章