【问题标题】:Apache Pig process CSV with fields wrapped in quotesApache Pig 处理带有引号的字段的 CSV
【发布时间】:2013-07-18 08:27:38
【问题描述】:

如何处理某些字段用引号括起来的 CSV 文件?

例如要处理的行(字段分隔符是',')

我是column1,我是column2,“是的,我是column3”

该示例包含三列。但是下面的例子会说我有四列:

A = 使用 PigStorage(',') 加载 '/path/to/file';

请有任何建议,链接到资源..?

【问题讨论】:

标签: java csv apache-pig


【解决方案1】:

尝试加载数据,然后执行 FOREACH GENERATE 以将数据重新生成为您需要的任何格式。对于需要删除引号的字段,请使用 REPLACE($3, '\"')。

data = LOAD 'testdata' USING PigStorage(",");
data = FOREACH data GENERATE
    (chararray) $0                AS col1:chararray,
    (chararray) $1                AS col2:chararray,
    (chararray) REPLACE($3, '\"') AS col3:chararray);

【讨论】:

  • 这不是一个解决方案,因为 Pig 将定义四列而不是三列。例如 column = "yes, I'm column3" 如果使用 PigStorage(",") 则为两列;
猜你喜欢
  • 2014-10-21
  • 1970-01-01
  • 2017-06-13
  • 1970-01-01
  • 2015-07-06
  • 1970-01-01
  • 2017-06-26
  • 1970-01-01
  • 2015-09-16
相关资源
最近更新 更多