gpt4 book ai didi

java - 使用java将json格式字符串转换为数据集spark

转载 作者:搜寻专家 更新时间:2023-11-01 02:20:30 24 4
gpt4 key购买 nike

非常新的 Spark ...

假设我们有一个 json 格式的字符串,如下所示:

 String  entry1 = "{\"user_id\":1111,\"account_num\":12345}";

如何将其读入 spark 数据集?我了解到数据集可以轻松地从以下路径读取 json 格式的数据:

SparkSession sparksession = SparkSession.builder()...
Dataset<Row> dataset = sparksession.read().json('path')

但是如何将上面的String直接变成数据集呢?谢谢你。

最佳答案

更新:创建一个列表并将其传递给 createDataset 这将为您提供数据集,然后您可以通过 spark.read 转换为您的数据集

List<String> jsonData = Arrays.asList(
"{\"user_id\":1111,\"account_num\":12345}");
Dataset<String> anotherPeopleDataset = spark.createDataset(jsonData, Encoders.STRING());
Dataset<Row> anotherPeople = spark.read().json(anotherPeopleDataset);

我查看了文档,但找不到从 String 读取的内容。一些功能没有记录。 但是以下是一些解决方法

try {
String entry1 = "{\"user_id\":1111,\"account_num\":12345}";
File file = File.createTempFile("temp",".txt");
BufferedWriter bw = new BufferedWriter(new FileWriter(file));
bw.write(entry1);
bw.close();
SparkSession sparksession = SparkSession.builder()...
Dataset<Row> dataset = sparksession.read().json(file.getAbsolutePath())
} catch (IOException e) {
e.printStackTrace();
}

关于java - 使用java将json格式字符串转换为数据集spark,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46020001/

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