csv 在 pig 中读取,csv 文件包含带引号的逗号

Posted

技术标签:

【中文标题】csv 在 pig 中读取,csv 文件包含带引号的逗号【英文标题】:csv reading in pig, csv file contains quoted comma 【发布时间】:2013-07-23 16:39:35 【问题描述】:

所以我的数据看起来像这样

asdf, asdf, "adsf,qwef", asdf 

当我使用猪读取该数据时

PigStorage(',')

它将“adsf,qwef”存储为两个数据,并将其存储为

 "adsf   qwef"  

我希望引号被视为单个数据。

我该怎么办?

我正在尝试编写一个 pigscript 来执行此操作。

【问题讨论】:

【参考方案1】:

您应该使用 CSVLoader:

data = LOAD 'my.csv' USING org.apache.pig.piggybank.storage.CSVExcelStorage() 
    AS (...);

其中 ... 是标识符。

注意:您必须先注册 Piggybank。详情在这里:https://cwiki.apache.org/confluence/display/PIG/PiggyBank

【讨论】:

这是除了猪之外的独立功能吗? 因为它给了我错误 2013-07-23 10:06:17,190 [main] 错误 org.apache.pig.tools.grunt.Grunt - 错误 1070: 无法解析 org. apache.pig.piggybank.storage.CSVExcelStorage 使用导入:[, org.apache.pig.builtin., org.apache.pig.impl.builtin.] 已更新/重命名为 'org.apache.pig.piggybank.storage.CSVLoader()'

以上是关于csv 在 pig 中读取,csv 文件包含带引号的逗号的主要内容,如果未能解决你的问题,请参考以下文章

Apache Pig - 如何从 CSV 文件中读取数据

Apache Pig 处理带有引号的字段的 CSV

Liquibase CSV loadData 失败,带引号的字符串包含逗号

如何使用包含引号并使用多个分隔符的 pandas 读取 CSV 文件

使用 pig 从 csv 文件中读取数据

如何在 Pig 中读取 csv 文件中的下一行