gpt4 book ai didi

java - Apache Spark 对常规文件的行为

转载 作者:可可西里 更新时间:2023-11-01 14:40:53 26 4
gpt4 key购买 nike

我有一个从本地文件读取数据的 spark 应用程序。

JavaRDD<String> file = context.textFile(input);

由于它不是分布式文件,我需要同一路径上每个节点上的输入文件的副本。这是否意味着每个节点都将处理整个文件?如果是,是否有办法使文件保持非分布式并使节点处理文件的不同部分而不在每个节点上都有一个副本?谢谢!

最佳答案

假设该文件适合驱动程序的内存,可以使用 native 代码加载它,然后使用 context.parallelize(data) 将其转换为 RDD 以将其分发到集群中用于进一步的并行处理。

在 scala 中,可以这样做:

val lines = Source.fromFile("/path/to/local/file").getLines()
val rdd = sparkContext.parallelize(lines.toSeq, numOfPartitions)

关于java - Apache Spark 对常规文件的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30368395/

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