从不同的用例中我了解--input-null-non-string
VS --null-non-string
和--input-null-string
VS --null-string
参数之间的区别。
the SQOOP documentation中的定义给我留下了一些不确定性
默认情况下,Sqoop会将NULL值导入为字符串null。蜂巢是 但是使用string \ N表示NULL值,因此表示谓词 处理NULL(如IS NULL)将无法正常工作。你应该 如果是,则追加参数--null-string和--null-non-string 导入作业或--input-null-string和--input-null-non-string以防万一 如果要正确保留NULL值,请执行导出作业。因为 sqoop在生成的代码中使用这些参数,您需要 正确转义值\ N到\ N:
我试着回顾一下我尝试和验证的结果,简单地用2个子弹。
--input-null-*
参数:显然,他们的主要目标是管理HIVE(或任何其他RDBMS)上的NULL值,默认情况下使用\ N表示NULL值。这些参数必须在您使用HIVE的地方使用(HIVE方面)。当您从HIVE导出到MySQL时,他们需要映射NULL值。--null-*
参数:它们被MySQL的一方使用。因此,例如当你从/向MySQL进口或出口时。