gpt4 book ai didi

scala - Spark : Using named arguments to submit application

转载 作者:行者123 更新时间:2023-12-02 15:25:54 25 4
gpt4 key购买 nike

是否可以编写一个 Spark 脚本,其中的参数可以通过名称而不是 args() 数组中的索引来引用?我有一个包含 4 个必需参数的脚本,根据这些参数的值,最多可能需要 3 个额外参数。例如,在一种情况下,args(5) 可能是我需要输入的日期。我另一个,由于我需要另一个参数,该日期可能会在 args(6) 中结束。

Scalding 已实现此功能,但我看不到 Spark 在哪里实现。

最佳答案

我实际上很简单地克服了这个问题。您只需要在每个参数前加上一个名称和一个定界符,在您调用应用程序时说“--”

spark-submit --class com.my.application --master yarn-client ./spark-myjar-assembly-1.0.jar input--hdfs:/path/to/myData output--hdfs:/write/to/yourData

然后在代码的开头包含这一行:

val namedArgs = args.map(x=>x.split("--")).map(y=>(y(0),y(1))).toMap

这会将默认的 args 数组转换为名为 namedArgs 的 Map(或任何您想要的名称。从那里开始,只需引用 Map 并按名称调用所有参数。

关于scala - Spark : Using named arguments to submit application,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30401406/

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