use*_*396 4 java json dictionary dataset apache-spark
非常新的火花...
假设我们有一个JSON格式的字符串,例如:
String entry1 = "{\"user_id\":1111,\"account_num\":12345}";
Run Code Online (Sandbox Code Playgroud)
如何将其读入Spark数据集?我了解数据集可以轻松地从路径读取json格式的数据,如下所示:
SparkSession sparksession = SparkSession.builder()...
Dataset<Row> dataset = sparksession.read().json('path')
Run Code Online (Sandbox Code Playgroud)
但是如何直接将上面的String转换为数据集?谢谢。
更新:创建一个列表并将其传递给createDataset,这将为您提供DataSet,然后您可以通过spark.read转换为您的Dataset
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);
Run Code Online (Sandbox Code Playgroud)
我查看了文档,但找不到从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();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2640 次 |
| 最近记录: |