A = LOAD '/path/file1.csv' USING PigStorage(',') AS (a1:chararray;a2:chararray);
B = LOAD '/path/file2.csv' USING PigStorage(',') AS (b1:chararray;b2:chararray);
C = UNION A,B;
D = FILTER C BY (C.$0 is NULL OR C.$1 is NULL) <-- If first or second column is null filter the record.
DUMP D;
2条答案
按热度按时间mmvthczy1#
由于它们具有相同的结构,请使用pig将它们加载到2个关系中,然后合并这2个关系。最后,您可以筛选符合特定条件的记录。为了简单起见,我假设文件中每个文件都有2个字段。
xt0899hw2#
这两个文件有相同的头,顺序相同等等
因为文件是相同的,所以您可以将它们上载到相同的目录。
如果您从中读取,hdfs将在本机上将这些文件视为“单个文件的一部分”
hdfs:///path/to/input
注意,在以这种方式将这两个文件放入hdfs之前,您需要从这两个文件中剥离头文件。另一种选择是在本地连接这些文件(同样,首先删除头文件,或者至少从除第一个文件以外的所有文件中删除头文件)
在那之后,使用任何你知道的hadoop工具来读取文件。