为什么在使用 FILTER 删除 PIG 中的 CSV Headers 时我没有得到 NULL 值?
Why am I not getting the NULL values when using FILTER to remove CSV Headers in PIG?
我在 .csv 文件中有以下数据:
Needed_values,TEMP,Desc
,022.3,NewYork
3,022.30,India
,027.0,Australia
,027.00,Russia
1,027.1,Austria
,027.10,Norway
,036.2,Hungary
,036.20,Lithunia
2,785.52,Nigeria
我在 Whosebug 的一个问题中看到使用 FILTER
删除 header 的方法。所以,
当我在我的 pig 脚本中加载此文件并使用 Filter
删除我的 csv 的 header 时,Needed_values
下的所有 NULL
值也被删除!
LOAD_DATA = LOAD 'DATA.csv' Using PigStorage(',') as
(
NEEDED_VALUES:chararray,
TEMP:chararray,
DESC:chararray
);
FILTER_HEADER = FILTER LOAD_DATA BY NEEDED_VALUES != 'Needed_values';
ACTUAL OUTPUT:
(3,022.30,India)
(1,027.1,Austria)
(1,027.1,Austria)
我希望输出包括除 headers- Needed_values,TEMP,Desc:
之外的所有内容
,022.3,NewYork
3,022.30,India
,027.0,Australia
,027.00,Russia
1,027.1,Austria
,027.10,Norway
,036.2,Hungary
,036.20,Lithunia
2,785.52,Nigeria
空值不会通过过滤条件。将过滤器更改为:
FILTER_HEADER = FILTER LOAD_DATA BY NEEDED_VALUES != 'Needed_values' OR NEEDED_VALUES IS NULL;
我在 .csv 文件中有以下数据:
Needed_values,TEMP,Desc
,022.3,NewYork
3,022.30,India
,027.0,Australia
,027.00,Russia
1,027.1,Austria
,027.10,Norway
,036.2,Hungary
,036.20,Lithunia
2,785.52,Nigeria
我在 Whosebug 的一个问题中看到使用 FILTER
删除 header 的方法。所以,
当我在我的 pig 脚本中加载此文件并使用 Filter
删除我的 csv 的 header 时,Needed_values
下的所有 NULL
值也被删除!
LOAD_DATA = LOAD 'DATA.csv' Using PigStorage(',') as
(
NEEDED_VALUES:chararray,
TEMP:chararray,
DESC:chararray
);
FILTER_HEADER = FILTER LOAD_DATA BY NEEDED_VALUES != 'Needed_values';
ACTUAL OUTPUT:
(3,022.30,India)
(1,027.1,Austria)
(1,027.1,Austria)
我希望输出包括除 headers- Needed_values,TEMP,Desc:
之外的所有内容,022.3,NewYork
3,022.30,India
,027.0,Australia
,027.00,Russia
1,027.1,Austria
,027.10,Norway
,036.2,Hungary
,036.20,Lithunia
2,785.52,Nigeria
空值不会通过过滤条件。将过滤器更改为:
FILTER_HEADER = FILTER LOAD_DATA BY NEEDED_VALUES != 'Needed_values' OR NEEDED_VALUES IS NULL;