gpt4 book ai didi

java - 当我尝试使用 java 从 Spark 中的 json 文件创建 View 时,为什么我得到的行包含空值

转载 作者:行者123 更新时间:2023-12-01 22:49:40 25 4
gpt4 key购买 nike

我正在读取 Json 文件并使用 java 在 Spark 中创建 View ,当我尝试显示它时,它显示了以空值开头和结尾的两行额外行

我尝试过使用不同的选项 line multi line true 但它不起作用

 class Something
{
public void DoSomething() {
SparkSession session = SparkSession.builder().appName("jsonreader")
.master("local[4]").getOrCreate();

Dataset<Row> jsondataset = session.read()
.json("G:\\data\\employee.json");
jsondataset.select("id","name","age").show();
}
}

+----+-------+----+
| id| name| age|
+----+-------+----+
|null| null|null|
|1201| satish| 25|
|1202|krishna| 28|
|null| null|null|
+----+-------+----+


{
{"id" : "1201", "name" : "satish", "age" : "25"}
{"id" : "1202", "name" : "krishna", "age" : "28"}
}

是我的 json 文件,我正在输出带有空值的行,如上面
谁能帮我解释为什么我会变成这样

最佳答案

额外的大括号导致了这种情况。您必须在读取 JSON 之前或读取之后(即通过 Spark)处理它。此外,NULL 被读取为字符串,而不是完全 NULL。下面是我的解决方法,由于“null”是字符串,过滤条件将唯一地标识这些错误行。 :

jsondataset = jsondataset.select("age","id","name").filter("age <> 'null'")
jsondataset.show()

// Result
// +---+----+-------+
// |age|id |name |
// +---+----+-------+
// |25 |1201|satish |
// |28 |1202|krishna|
// +---+----+-------+

关于java - 当我尝试使用 java 从 Spark 中的 json 文件创建 View 时,为什么我得到的行包含空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58461360/

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