gpt4 book ai didi

java - 在同一节点上进行分区处理?

转载 作者:行者123 更新时间:2023-11-30 06:41:10 24 4
gpt4 key购买 nike

Spark 在 RDD 中创建逻辑分区。我有两个问题:-

1) Google 上到处都说分区有助于并行处理,其中每个分区可以在单独的节点上处理。我的问题是我是否有多核机器,我不能在同一节点处理分区吗?

2) 假设我从文件系统读取文件,并且 Spark 创建了一个具有四个分区的 RDD。现在每个分区可以进一步划分为RDD吗?例如:-

 firstRDD=sc.textFile("hdfs://...")
//firstRDD contains four partition which are processed on four diff nodes
secondRDD=firstRDD.filter(someFunction);
// Now will each node create separate secondRDD which will have further paritions ?

最佳答案

分割为 4 个分区(可能位于单个节点或最多 4 个节点)的输入文本文件将不会被分割为更多分区,因此将由读取它们的同一执行器进行评估最初。 但是,您可以对 RDD/数据帧进行重新分区以提高并行度(例如为 64 个执行器分配 64 个分区)。这将强制进行洗牌,这可能成本高昂,但值得,特别是在计算量大的工作中。出现此问题的常见情况是读取不可分割的文件(例如 GZIP 文件)。无论文件大小如何,单个执行程序都必须读入文件(并进行处理!!)。因此,重新分区对于许多 GZIP 工作负载非常有益,因为它有利于并行计算。

关于java - 在同一节点上进行分区处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44350657/

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