hadoop 是否可以从Spark Worker的上下文中生成DataFrame行?

yzckvree  于 2022-11-01  发布在  Hadoop
关注(0)|答案(1)|浏览(205)

基本问题是尝试使用Spark生成数据,然后在内部处理数据。例如,我有一个程序,它会生成“行”数据a-我是否可以利用Spark在工作节点之间并行化该工作,并让它们各自返回底层存储?
我想使用Spark的原因是它似乎是一个非常流行的框架,我知道这个请求有点超出了Spark应该提供的功能范围。然而,MapReduce或Storm的替代品已经非常陈旧,不再有太多的支持了。
我有一种感觉,必须有一种方法来做到这一点,有没有人试图利用Spark在这种方式?

j8ag8udp

j8ag8udp1#

老实说,我不认为仅仅因为Spark很受欢迎就采用它是一个正确的决定。而且,从为什么这个问题需要一个用于分布式数据处理的框架(这沿着着巨大的协调开销)的问题来看,这并不明显。
关键的考虑因素应该是下一步如何处理生成的数据。如果只是将数据立即转储到数据存储中,我真的不建议使用Spark,特别是如果您手头没有必要的基础设施(Spark集群)。
相反,编写一个简单的程序来生成数据,然后在现代资源调度器(如Kubernetes)上运行它,并根据需要扩展和运行尽可能多的示例。
如果你真的想使用Spark来完成这个任务(并且不必要地消耗资源),这并不困难。创建一个分布式的“种子”数据集/流,然后简单地使用flatMap。使用flatMap,你可以为每个种子输入行生成任意多的新行(显然受到可用内存的限制)。

相关问题