如何使用hadoop按列读取csv文件?

x4shl7ld  于 2021-06-04  发布在  Hadoop
关注(0)|答案(2)|浏览(686)

我正在尝试读取一个csv文件,其中不包含coma分隔值,这些是纳斯达克股票的列,我想读取一个特定的列,假设(3),不知道,如何获得列项目。在hadoop中有没有读取逐列数据的方法?请帮忙。
我的csv文件格式是:

exchange    stock_symbol    date    stock_price_open    stock_price_high    stock_price_low stock_price_close   stock_volume    stock_price_adj_close
NASDAQ  ABXA    12/9/2009   2.55    2.77    2.5 2.67    158500  2.67
NASDAQ  ABXA    12/8/2009   2.71    2.74    2.52    2.55    131700  2.55

此处编辑:
a列:交易所b列:股票代码c列:日期d列:股票价格开放e列:股票价格高
同样地。
这些是列,不是逗号分隔的值。我需要按列方式读取此文件。

zkure5ic

zkure5ic1#

您可以尝试设置excel工作表的格式,如使用以下公式将列添加到单个文本中:

=CONCATENATE(A2,";",B2,";",C2,";"D2,";",E2,";",F2,";",G2,";",H2,";",I2)

并用所需的分隔符连接这些列 ; ,这里。使用你想要的东西。

jum4pzuy

jum4pzuy2#

在pig中,它将如下所示:

Q1 = LOAD 'file.csv' USING PigStorage('\t') AS (exchange, stock_symbol, stock_date:double, stock_price_open, stock_price_high, stock_price_low, stock_price_close, stock_volume, stock_price_adj_close);
Q2 = FOREACH Q1 GENERATE stock_date;
DUMP C;

相关问题