gpt4 book ai didi

java - 数据库 DataFrame Null 值未传入 Json 文件

转载 作者:行者123 更新时间:2023-12-02 02:12:01 27 4
gpt4 key购买 nike

我有一个数据库,其中某些列包含空值,我正在将从数据库形成的数据帧转换为 Json 文件。这里的问题是我没有得到空列。这是代码和输出:

            dataFrame.show();
dataFrame.na().fill("null").coalesce(1)
.write()
.mode("append")
.format("Json")
.option("nullValue", "")
.save("D:\\XML File Testing\\"+"JsonParty1");

dataframe.show() 给出以下输出:

[![spark 处理的数据帧][1]][1]

             [1]: /image/XxAQC.png

以下是如何将其保存在文件中(我仅粘贴 1 列只是为了向您展示示例):

           {"EMPNO":7839,"ENAME":"KING","JOB":"PRESIDENT","HIREDATE":"1981-11-17T00:00:00.000+05:30","SAL":5000.00,"DEPTNO":10}

正如您所看到的,我的“MGR”和“comm”列丢失了,因为它在数据框中显示为空。令人惊讶的是,当数据帧是由包含空值的文件(结构化的,例如:分隔的txt文件)形成时(spark数据帧将其视为空),这个东西会起作用。尝试了各种方法,但仍然无法获取 Json 文件中的空列。任何帮助将不胜感激。

最佳答案

试试这个:

import org.apache.spark.sql.functions._
dataFrame.withColumn("json", to_json(struct(dataFrame.columns.map(col):_*)
.select("json").write.mode("append").text("D:\\XML File Testing\\"+"JsonParty1")

关于java - 数据库 DataFrame Null 值未传入 Json 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57323132/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com