在hive的transform中,输入中 NULL 值会被转换成字符串 '\N'(大写N),同时输出时 '\N' 会再次被转化为 NULL
所以在transform中,判断某列为NULL实际上应该是判断该列是否等于'\N'
即
# coding:utf-8
import sys
for line in sys.stdin:
res = line.strip().split('\t')
if res[0] == 'NULL':
pass # 错误
if res[0] == '\N':
pass # 正确