Hiveでの空文字、NULLの扱い

ちょっと混乱したけど、どうもこういうことっぽい。

カラムの型 テーブルにロードするファイルでの値 HDFS上の値 selectした場合の表示 IS NULL判定結果
int 空文字でない文字列 空文字でない文字列 NULL true
int 空文字 空文字 NULL true
string NULLという文字列 NULL NULL false
string 空文字 空文字 空文字 false
string \N \N NULL true

int型のカラムに文字列入れるとNULLになるのはいいとして、string型のカラムをNULLにするためには\Nを使うようだ。
INSERT文で入れる場合はNULL使えばいいんだけどファイルからimportする場合は\N使うのね。ま、テスト以外ではそんなシチュエーションはないか。

ソースでいうとMetadataTypedColumnsetSerDe.defaultNullStringかな。