首页 > 解决方案 > 类型转换 Dataframe 为空字段返回“null”

问题描述

我有一个原始数据加载到我的配置单元表中,默认情况下所有列都是字符串。现在我需要更改配置单元表的数据类型以导出到 SQLServer。当对 hive 列进行类型转换时,空字段返回“NULL”,尝试将 hive 表加载到数据框中并对列进行类型转换,但数据框仍然为空字段返回“null”。SQLserver 无法识别这些值。

当我从配置单元或数据框获取数据时,任何人都可以提出一个解决方案来避免显示“空”值。

标签: scaladataframehivenullapache-spark-sql

解决方案


如果您只想更改数据类型,因为您希望在导出的数据中具有该特定格式,请考虑根据您的要求使用写入目录,然后使用 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"

希望这可以帮助你


推荐阅读