【问题标题】:Avoid writing of NULL fields present in pyspark dataframe避免写入 pyspark 数据帧中存在的 NULL 字段
【发布时间】:2020-05-29 10:45:26
【问题描述】:

我有一个包含以下条目的 spark 数据框 column1 | column2 "a" | "b" "x" | "c" null | "a" null | "b" "x" | null 因此,当我将其转换为胶水动态框架并以 json 格式写入 S3 存储桶时,也会写入空值。 我不想将空字段转换为空字符串或数字等。基本上,如果字段值为空,则不应写入。如何避免写入空字段?

【问题讨论】:

    标签: python-3.x amazon-web-services pyspark etl pyspark-dataframes


    【解决方案1】:

    您可以执行类似.na.fill('') 的操作,将您的值默认为空字符串

    df = spark.createDataFrame([("a",), ("b",), ("c",), (None,)], ['col'])
    df.show()
    +----+
    | col|
    +----+
    |   a|
    |   b|
    |   c|
    |null|
    +----+
    
    df.na.fill('').show()
    +---+
    |col|
    +---+
    |  a|
    |  b|
    |  c|
    |   |
    +---+
    

    【讨论】:

    • 呀。但我只是想避免写那个字段。转换为零会将 0 写入我的应用程序不支持的 col 字段
    • 然后用空字符串填充它@kmkhan
    • 不需要对空数据进行格式化。在写作时需要避免它们。
    • 当您说避免 NULL 时,您的意思是过滤整行或仅过滤该值?
    • 就是那个值。不是整行。
    猜你喜欢
    • 2020-10-06
    • 2018-06-24
    • 2020-11-26
    • 1970-01-01
    • 2022-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-11
    相关资源
    最近更新 更多