apache-spark - 加载 Spark Config 以测试 Spark 应用程序
问题描述
我一直在尝试在本地笔记本电脑上测试一个 spark 应用程序,然后再将其部署到集群(以避免每次都打包和部署我的整个应用程序),但在加载 spark 配置文件时遇到了困难。
当我在集群上运行我的应用程序时,我通常会向应用程序提供一个 spark 配置文件(使用 spark-submit 的 --conf)。这个文件有很多配置选项,因为这个应用程序与 Cassandra 和 HDFS 交互。但是,当我尝试在本地笔记本电脑上执行相同操作时,我不确定如何加载此配置文件。我知道我可能可以编写一段代码来获取配置文件的文件路径,然后通过并解析所有值并将它们设置在配置中,但我只是想知道是否有更简单的方法。
当前状态:
- 我将所需的配置文件放在我的 SPARK_HOME/conf 目录中,并将其命名为 spark-defaults.conf ---> 这没有得到应用,但是使用 spark-submit 这个完全相同的文件运行良好
- 对于本地模式,当我创建火花会话时,我将 Spark Master 设置为“本地 [2]”。我在创建 spark 会话时这样做,所以我想知道是否可以使用指定的配置文件创建这个会话。
解决方案
您是否在 IDE 中添加--properties-file
了带有值的标志spark-defaults.conf
作为 JVM 的参数?
在官方文档(https://spark.apache.org/docs/latest/configuration.html)中不断引用“您的默认属性文件”。某些选项无法在您的应用程序中设置,因为 JVM 已经启动。而且由于 conf 目录是通过 spark-submit 只读的,我想你必须在本地运行时显式加载配置文件。
此问题已在此处讨论: 如何使用 spark-submit 的 --properties-file 选项在 IntelliJ IDEA 中启动 Spark 应用程序?
推荐阅读
- laravel - Laravel 变量 sessione 怎么用?
- java - 我不明白为什么我无法访问我的包/类?
- javascript - 如何使用 vuejs 显示/隐藏动态添加的跨度项 onclick?
- c# - Blazor 相当于 OnActionExecuting?
- php - 使用 Composer 安装后找不到 PHPunit 命令
- c - 递归函数中的C分段错误
- arrays - 将元组列表从一个附加到另一个
- wix - Wix 安装程序 ExecuteSqlStrings 自定义操作顺序
- python - 在树莓派上使用 curses.nodelay(True) 会出现以下错误: AttribureError: 'module' object has no attribute 'nodelay'
- android-studio - Ubuntu 18.04 上的 Android Studio:未找到片段...如何“在代码中创建一个或多个片段”?