Spark使用生成其他数据集的函数映射DataSet并保存在新的数据集中

时间:2018-03-14 23:27:10

标签: scala apache-spark apache-spark-sql spark-dataframe

我开始使用Scala和Spark。目前,我使用Rest服务,并通过响应从JSON生成数据集,具有以下结构:

|   id   |     name       |        key          |
+------- + -------------- + ------------------- +
| 128b16 | sample_project | uk.uda.proyect: ... |

从这个DataSet,我需要遍历它的行,并且每个“key”元素使用另一个Rest服务(每行一个调用)并保存新数据集中所有行的响应,例如,如下所示:

|   key  | value_1|value_2|value_n ... |
+ ------ + -------+------ + ---------- +
| 128b16 | xxxxxx |  xxxx | xxxx       |

我知道如何才能实现这一目标吗?

1 个答案:

答案 0 :(得分:0)

每当您将JSON响应保存到数据库中时,您可以为Kafka或RabbitMQ等消息传递队列编写生产者脚本。

然后,您可以创建一个火花流式传输作业来使用该消息,该消息可以只是“关键”值或来自JSON响应的整个数据集。您可以将这些结果保存到任何所需的数据库中,无论是RDMBS还是NOSQL数据库。有很好的连接器可以使工作变得非常简单。