【问题标题】:Typecasting a Dataframe returns 'null' for empty fields类型转换 Dataframe 为空字段返回“null”
【发布时间】:2018-11-09 13:44:07
【问题描述】:

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

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

【问题讨论】:

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


    【解决方案1】:

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

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-01-08
      • 2018-07-24
      • 1970-01-01
      • 2013-02-24
      • 1970-01-01
      • 2016-04-16
      • 1970-01-01
      相关资源
      最近更新 更多