zoukankan      html  css  js  c++  java
  • spark dataset写csv的时候将null值写为空字符串

    用spark写csv的时候碰见一个问题,join后未匹配的单元应该是null,但是spark写出来全部都为""了

    F23338994668,F23338994669,F23338995220
    12,1,1
    1,7,""
    13,1,1
    6,1,1
    16,1,1
    3,1,1
    5,1,1
    15,1,1
    9,1,1
    4,1,1
    8,1,1
    7,1,1
    10,1,1
    11,1,1
    14,1,1

    在之后hive加载的时候,由于该列是数字类型,空字符无法匹配数字字段类型,导致有空串的整行都展示为null

    F23338994668,F23338994669,F23338995220
    12,1,1
    ,,,
    13,1,1
    6,1,1
    16,1,1
    3,1,1
    5,1,1
    15,1,1
    9,1,1
    4,1,1
    8,1,1
    7,1,1
    10,1,1
    11,1,1
    14,1,1

    追踪代码发现在未写入之前,sql没有问题,也没有执行na().fill()操作,但在write过后,null就变成了""

    解决办法,在sparkDF.write之前追加配置.config("emptyValue","")即可

  • 相关阅读:
    app测试点-1
    毕业5年的感悟
    关于游戏外挂
    python-unittest单元测试框架
    python-requests
    http简介
    python基础-发邮件smtp
    python-加密
    4 Python 日期和时间
    5 Python 数据类型—数字
  • 原文地址:https://www.cnblogs.com/wanshiming/p/12841729.html
Copyright © 2011-2022 走看看