我正在尝试读取不包含昏迷分隔值的csv文件,这些是纳斯达克股票的列,我想读取特定列,假设(第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栏:stock_symbol C栏:日期 D栏:stock_price_open E栏:stock_price_high
,同样。
这些是列,而不是逗号分隔值。我需要以列为单位阅读此文件。
答案 0 :(得分:1)
在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;
答案 1 :(得分:-1)
您可以尝试格式化Excel工作表,例如使用以下公式将列添加到单个文本中:
=CONCATENATE(A2,";",B2,";",C2,";"D2,";",E2,";",F2,";",G2,";",H2,";",I2)
并按所需的分隔符连接这些列,我在这里使用了;
。用你想要的东西。