Hadoop Pig – 删除csv头

我的csv文件在第一行有标题.将它们加载到猪中会在任何后续功能(如SUM)上造成混乱.截至今天,我首先对加载的数据应用过滤器,以删除包含标题的行:

affaires    = load 'affaires.csv'   using PigStorage(',') as (NU_AFFA:chararray,    date:chararray) ;
affaires    = filter affaires by date matches '../../..';

我认为它作为一种方法有点愚蠢,我想知道是否有一种方法可以告诉猪不要加载csv的第一行,就像加载函数的“as_header”布尔参数一样.
我没有在doc上看到它.什么是最佳做法?你通常如何处理?

CSVExcelStorage加载器支持跳过标题行,因此代替PigStorage使用CSVExcelStorage.下载piggybank.jar并尝试此选项.

示例示例

input.csv

Name,Age,Location
a,10,chennai
b,20,banglore

PigScript :(使用SKIP_INPUT_HEADER选项)

REGISTER '/tmp/piggybank.jar';
A  = LOAD 'input.csv' USING org.apache.pig.piggybank.storage.CSVExcelStorage(',', 'NO_MULTILINE', 'UNIX', 'SKIP_INPUT_HEADER');
DUMP A;

输出:

(a,10,chennai)
(b,20,banglore)

参考:
http://pig.apache.org/docs/r0.13.0/api/org/apache/pig/piggybank/storage/CSVExcelStorage.html

相关文章
相关标签/搜索