我将原始数据加载到我的hive表中,默认情况下所有列都作为字符串。现在我需要更改hive表的数据类型以导出到SQLServer。 在对hive列进行Typecasting时,空字段返回'NULL',尝试将hive表加载到数据帧中并对类进行类型转换,但数据帧仍为空字段返回'null'。 SQLserver无法识别这些值。
当我从hive或数据帧中获取数据时,是否有人可以建议一种解决方案来避免显示中的'null'值。
答案 0 :(得分:0)
如果您只想更改数据类型,因为您希望在导出的数据中使用该特定格式,请考虑根据您的要求使用写入目录,然后使用sqoop /任何其他工具导出。
INSERT OVERWRITE DIRECTORY '<HDFS path>'
Row format delimited
Fields terminated by '<delimiter>'
SELECT
a,
b
From
table_name
Where <condition>;
导出时,如果您有空值,请考虑在sqoop命令中使用这些参数
--null-string "\\N" --null-non-string "\\N"
希望这有助于你