对数据帧进行类型转换为空字段返回'null'

时间:2018-05-30 16:05:17

标签: scala dataframe hive null apache-spark-sql

我将原始数据加载到我的hive表中,默认情况下所有列都作为字符串。现在我需要更改hive表的数据类型以导出到SQLServer。 在对hive列​​进行Typecasting时,空字段返回'NULL',尝试将hive表加载到数据帧中并对类进行类型转换,但数据帧仍为空字段返回'null'。 SQLserver无法识别这些值。

当我从hive或数据帧中获取数据时,是否有人可以建议一种解决方案来避免显示中的'null'值。

1 个答案:

答案 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"

希望这有助于你