SQOOP IMPORT / EXPORT / HIVE数据库的空值

时间:2017-12-18 17:02:27

标签: hadoop hive sqoop

从不同的用例中我了解--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进口或出口时。

0 个答案:

没有答案