我正在用hadoop spark启动一个项目。我将在斯卡拉发展。我从零开始创建这个项目,我想知道如何处理属性。我来自java背景,在那里我使用.properties文件并从一开始就加载它们。然后我有一个类用来访问我的属性的不同值。这在scala中也是一个好的实践吗?我试过用谷歌搜索,但没有任何相关信息。
uqcuzwp81#
有三种方法可以确定spark的属性: Spark Propertis 在 SparkConf 原始规格:spark属性控制大多数应用程序设置,并为每个应用程序分别配置。这些属性可以直接在传递给sparkcontext的sparkconf上设置。 Dynamically Loading Spark Properties 最初的规范,它避免了在sparkconf中硬编码某些配置:./bin/spark submit--name“我的应用”--master local[*]--conf spark.eventlog.enabled=false--conf“spark.executor.extrajavaoptions=-xx:+printgcdetails-xx:+printgtimestamps”myapp.jar覆盖 spark-defaults.conf — 默认spark特性文件-原始等级库我按优先级描述了房产- SparkConf 具有最高优先级和 spark-conf 具有最低优先级。更多详情请查看此帖子如果要将所有属性存储在同一个位置,只需键入safe config。typesafe配置不再使用输入流读取文件,它在scala应用程序中被广泛使用。
Spark Propertis
SparkConf
Dynamically Loading Spark Properties
spark-defaults.conf
spark-conf
kd3sttzy2#
您可以在类似于java的scala中读取属性文件
import scala.io.Source.fromUrl val reader = fromURL(getClass.getResource("conf/fp.properties")).bufferedReader()
您可以在scala标准库i/o中阅读更多关于i/o包的信息如果您希望提供spark属性,则有不同的方法,例如在提交spark作业时提供。希望这有帮助。
s5a0g9ez3#
我们要做的是:scopt.optionparser来分析命令行参数。键/值参数 conf 复制到system.properties命令行参数 config-file 用于读取配置文件(使用spark context从s3/hdfs读取,使用自定义代码路径从jar资源读取)使用com.typesafe.config.configfactory解析的配置文件。来自资源和读取文件的默认配置使用 withFallback 机制。顺序很重要,因为我们希望typesafe使用(2)中的值来覆盖文件中的那些值。
conf
config-file
withFallback
3条答案
按热度按时间uqcuzwp81#
有三种方法可以确定spark的属性:
Spark Propertis
在SparkConf
原始规格:spark属性控制大多数应用程序设置,并为每个应用程序分别配置。这些属性可以直接在传递给sparkcontext的sparkconf上设置。
Dynamically Loading Spark Properties
最初的规范,它避免了在sparkconf中硬编码某些配置:./bin/spark submit--name“我的应用”--master local[*]--conf spark.eventlog.enabled=false--conf“spark.executor.extrajavaoptions=-xx:+printgcdetails-xx:+printgtimestamps”myapp.jar
覆盖
spark-defaults.conf
— 默认spark特性文件-原始等级库我按优先级描述了房产-
SparkConf
具有最高优先级和spark-conf
具有最低优先级。更多详情请查看此帖子如果要将所有属性存储在同一个位置,只需键入safe config。typesafe配置不再使用输入流读取文件,它在scala应用程序中被广泛使用。
kd3sttzy2#
您可以在类似于java的scala中读取属性文件
您可以在scala标准库i/o中阅读更多关于i/o包的信息
如果您希望提供spark属性,则有不同的方法,例如在提交spark作业时提供。
希望这有帮助。
s5a0g9ez3#
我们要做的是:
scopt.optionparser来分析命令行参数。
键/值参数
conf
复制到system.properties命令行参数
config-file
用于读取配置文件(使用spark context从s3/hdfs读取,使用自定义代码路径从jar资源读取)使用com.typesafe.config.configfactory解析的配置文件。
来自资源和读取文件的默认配置使用
withFallback
机制。顺序很重要,因为我们希望typesafe使用(2)中的值来覆盖文件中的那些值。