如何使用ApachePig处理多行、多行*.csv文件形式的多变量时间序列?

pgpifvop  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(333)

我需要处理多变量时间序列作为多行,多行*.csv文件与apachePig。我正在尝试使用自定义自定义自定义项(evalfunc)来解决我的问题。但是,我尝试的所有加载程序(org.apache.pig.impl.io.readtoendloader除外,我无法使用它)都将数据加载到csv文件并将其传递给udf,并将文件的一行作为一条记录返回。然而,我需要的是一列(或完整文件的内容)能够处理一个完整的时间序列。处理一个值显然是无用的,因为我需要更长的值序列。。。
csv文件中的数据如下所示(30列,1st是datetime,所有其他都是双值,这里有3行示例):
17.06.2013 00:00:00;427;-13.793273;2.885583;-0.074701;209.790688;233.118828;1.411723;329.099170;331.554919;0.077026;0.485670;0.691253;2.847106;297.912382;50.000000;0.000000;0.012599;1.161726;0.023110;0.952259;0.024673;2.304819;0.027350;0.671688;0.025068;0.091313;0.026113;0.271128;0.032320;0 17.06.2013 00:00:01;430;-13.879651;3.137179;-0.067678;209.796500;233.141233;1.411920;329.176863;330.910693;0.071084;0.365037;0.564816;2.837506;293.418550;50.000000;0.000000;0.014108;1.159334;0.020250;0.954318;0.022934;2.294808;0.028274;0.668540;0.020850;0.093157;0.027120;0.265855;0.033370;0 17.06.2013 00:00:02;451;-15.080651;3.397742;-0.078467;209.781511;233.117081;1.410744;328.868437;330.494671;0.076037;0.358719;0.544694;2.841955;288.345883;50.000000;0.000000;0.017203;1.158976;0.022345;0.959076;0.018688;2.298611;0.027253;0.665095;0.025332;0.099996;0.023892;0.271983;0.024882;0
有人知道我该如何处理29个时间序列吗?提前谢谢!

odopli94

odopli941#

你想达到什么目的?
如果要将所有文件中的所有行作为单个记录读取,可以执行以下操作:

a = LOAD '...' USING PigStorage(';') as <schema> ;
b = GROUP a ALL;

b将包含一个袋子中的所有行。
如果要将每个csv文件作为单个记录读取,可以执行以下操作:

a = LOAD '...' USING PigStorage(';','tagsource') as <schema> ;
b = GROUP a BY $0; --$0 is the filename

b将包含一个包中每个文件的所有行。

相关问题