我将原始数据加载到配置单元表中,默认情况下所有列都是字符串。现在我需要更改配置单元表的数据类型以导出到sqlserver。当类型转换配置单元列时,空字段返回“null”,尝试将配置单元表加载到dataframe并类型转换列,但dataframe也会为空字段返回“null”。sqlserver无法识别这些值。当我从配置单元或Dataframe中获取数据时,有人能提出一个解决方案来避免显示中的“null”值吗。
yyhrrdl81#
如果您只想更改数据类型,因为您想在导出的数据中使用该特定格式,请考虑根据您的要求使用写入目录,然后使用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"
希望这对你有帮助
1条答案
按热度按时间yyhrrdl81#
如果您只想更改数据类型,因为您想在导出的数据中使用该特定格式,请考虑根据您的要求使用写入目录,然后使用sqoop/任何其他工具导出。
导出时,如果有空值,请考虑在sqoop命令中使用这些参数
希望这对你有帮助