Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark CSV文件是分区和并行的吗?_Apache Spark - Fatal编程技术网

Apache spark CSV文件是分区和并行的吗?

Apache spark CSV文件是分区和并行的吗?,apache-spark,Apache Spark,我是Apache Spark的新手 我对spark有意见。如果有人知道如何解决这个问题,请告诉我 [环境] 独立模式集群:主节点和3个工作节点,分别有4个核心 [场景] 加载CSV文件并创建数据集。此时,数据集的分区号为1 数据集被重新分区为10 10个分区应该在3个工作节点上并行 [问题] 在上面的第3条中,我可以确认从执行日志创建了10个分区。 但是,所有10个分区仅在一个工作节点上处理 关于我的集群,我已经尝试了下面的SparkPi示例,其中包含10个分区,它们在3个工作节点上并行。 因

我是Apache Spark的新手

我对spark有意见。如果有人知道如何解决这个问题,请告诉我

[环境]

独立模式集群:主节点和3个工作节点,分别有4个核心

[场景]

  • 加载CSV文件并创建数据集。此时,数据集的分区号为1
  • 数据集被重新分区为10
  • 10个分区应该在3个工作节点上并行
  • [问题]

    在上面的第3条中,我可以确认从执行日志创建了10个分区。 但是,所有10个分区仅在一个工作节点上处理

    关于我的集群,我已经尝试了下面的SparkPi示例,其中包含10个分区,它们在3个工作节点上并行。

    因此,我认识到集群本身工作正常

    [驱动程序]

    除了为分布式处理编写重新分区方法之外,我没有写任何特殊的东西

    [问题]


    CSV文件是否分区并并行倍增?

    快速要点:执行者是spark中的关键,而不是节点。也就是说,您可以在一个节点上处理所有数据,但由于该节点上有多个可用的执行器,因此它仍然可以均匀分布并进行良好的处理。也就是说,shuffle在spark中是昂贵的。我的猜测是spark catalyst引擎可能决定在一个节点上处理所有数据,以避免将数据转移到其他节点的成本。您可以通过强制数据在其他节点上可用(即跨节点复制)或使用更大的数据集来测试这一点。您好r0bb23,我可以确认CSV文件分区和并行化会通过使用更大的数据集成倍增加。谢谢您的合作。快速要点:在spark中,执行者是重要的,而不是节点。也就是说,您可以在一个节点上处理所有数据,但由于该节点上有多个可用的执行器,因此它仍然可以均匀分布并进行良好的处理。也就是说,shuffle在spark中是昂贵的。我的猜测是spark catalyst引擎可能决定在一个节点上处理所有数据,以避免将数据转移到其他节点的成本。您可以通过强制数据在其他节点上可用(即跨节点复制)或使用更大的数据集来测试这一点。您好r0bb23,我可以确认CSV文件分区和并行化会通过使用更大的数据集成倍增加。谢谢您的合作。