首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >过滤JSON记录到不同的数据集Spark-Java

过滤JSON记录到不同的数据集Spark-Java
EN

Stack Overflow用户
提问于 2018-07-17 20:05:24
回答 0查看 191关注 0票数 0

我使用的是Java-Spark。

我在rdd中有以下来自Kafka的Java记录(作为字符串):

代码语言:javascript
复制
{"code":"123", "date":"14/07/2018",....}
{"code":"124", "date":"15/07/2018",....}
{"code":"123", "date":"15/07/2018",....}
{"code":"125", "date":"14/07/2018",....}

我读到的数据集如下:

代码语言:javascript
复制
Dataset<Row> df = sparkSession.read().json(jsonSet);
Dataset<Row> dfSelect = df.select(cols);//Where cols is Column[]

我希望通过映射到不同的数据集,将JSON记录写入不同的Hive表和不同的分区,这意味着:

代码语言:javascript
复制
{"code":"123", "date":"14/07/2018",....} Write to HDFS dir -> /../table123/partition=14_07_2018
{"code":"124", "date":"15/07/2018",....} Write to HDFS dir -> /../table124/partition=15_07_2018
{"code":"123", "date":"15/07/2018",....} Write to HDFS dir -> /../table123/partition=15_07_2018
{"code":"125", "date":"14/07/2018",....} Write to HDFS dir -> /../table125/partition=14_07_2018

如何按代码和日期映射Json,然后按以下方式编写:

代码语言:javascript
复制
dfSelectByTableAndDate123.write().format("parquet").mode("append").save(pathByTableAndDate);
dfSelectByTableAndDate124.write().format("parquet").mode("append").save(pathByTableAndDate);
dfSelectByTableAndDate125.write().format("parquet").mode("append").save(pathByTableAndDate);

谢谢

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51380948

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档