首页 > 解决方案 > 如何在 Apache Spark 独立集群中设置文件路径?

问题描述

我需要一些关于在 Spark 中定义包含大量文件的目录的路径的提示。我已经建立了一个独立集群,其中一台机器作为 Worker,另一台机器作为 Master,驱动程序是我的本地机器。我用python在本地机器上开发我的代码。我已将所有文件复制到 Master 和 Worker,两台机器上的路径相同(如:/data/test/)。我已经设置了一个 SparkSession,但现在我不知道如何在我的脚本中定义目录的路径。所以我的问题是如何说Spark它可以在上面的目录中找到两台机器上的数据?我的另一个问题是如何处理像 .mal 这样的文件格式,我怎样才能读取这些文件?感谢您的任何提示!

标签: apache-spark

解决方案


当 Spark 作业提交给驱动程序(主)时,发生的事情很少

  1. 驱动程序创建一个执行计划。它创建多个阶段,每个阶段包含多个任务。
  2. 集群管理器根据提交作业时的参数分配资源并从工作人员启动执行程序。
  3. 任务被交给执行者执行,驱动程序监控每个任务的执行。sparkContext当关闭或应用程序范围完成时,资源被释放并终止执行程序。

提交 spark 作业的驱动程序或 ma​​ster 需要可访问的数据路径,因为它控制所有执行计划。驱动程序和集群管理器将负责在工作人员中执行不同类型的操作的所有事情。由于 spark 作业是在 master 中提交的,因此提供可以通过 master 机器的 spark 访问的数据路径就足够了。


推荐阅读