我想在dev/prod环境中更改Spark作业的Typesafe配置.在我看来,实现这一目标的最简单方法是转到-Dconfig.resource=ENVNAME工作岗位.然后Typesafe配置库将为我完成工作.
有没有办法直接将该选项传递给作业?或者也许有更好的方法在运行时更改作业配置?
编辑:
--conf "spark.executor.extraJavaOptions=-Dconfig.resource=dev"向spark-submit命令添加选项时没有任何反应.Error: Unrecognized option '-Dconfig.resource=dev'.当我传递-Dconfig.resource=dev给spark-submit命令时,我得到了.我最近发现了以下代码:
var noEscape = [256]bool{
'A': true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true,
'a': true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true,
'0': true, true, true, true, true, true, true, true, true, true,
'-': true,
'.': true,
'_': true,
'~': true,
}
Run Code Online (Sandbox Code Playgroud)
据我所知,默认情况下,这 …
我经常使用下面的函数转换Option[Try[_]]为Try[Option[_]]但感觉不对.可以用更惯用的方式表达这样的功能吗?
def swap[T](optTry: Option[Try[T]]): Try[Option[T]] = {
optTry match {
case Some(Success(t)) => Success(Some(t))
case Some(Failure(e)) => Failure(e)
case None => Success(None)
}
}
Run Code Online (Sandbox Code Playgroud)
说我有两个值:
val v1: Int = ???
val v2: Option[Int] = ???
Run Code Online (Sandbox Code Playgroud)
我想op对这些值进行操作(可能会失败)并将其传递给f下面的函数.
def op(x: Int): Try[String]
def f(x: String, y: Option[String]): Unit
Run Code Online (Sandbox Code Playgroud)
我通常用于理解可读性:
for {
opedV1 <- op(v1)
opedV2 <- swap(v2.map(op))
} f(opedV1, opedV2)
Run Code Online (Sandbox Code Playgroud)
PS.我想避免像scalaz这样沉重的东西.
我有一个相当简单的程序:
fn f<'a>() -> &'a i32 {
&1
}
fn main() {
println!("{}", f());
}
Run Code Online (Sandbox Code Playgroud)
它没有编译(一些输出省略):
$ rustc test.rs
test.rs:2:6: 2:7 error: borrowed value does not live long enough
test.rs:2 &1
Run Code Online (Sandbox Code Playgroud)
我明白为什么失败了.
编辑:我改变了标题,因为它建议返回盒装类型将帮助不是(见答案).
我是否正确理解crypto/rand.Reader 只能在下面未列出的平台上返回Read错误,即它实际上没有实现?
// Reader is a global, shared instance of a cryptographically
// strong pseudo-random generator.
//
// On Linux, Reader uses getrandom(2) if available, /dev/urandom otherwise.
// On OpenBSD, Reader uses getentropy(2).
// On other Unix-like systems, Reader reads from /dev/urandom.
// On Windows systems, Reader uses the CryptGenRandom API.
var Reader io.Reader
Run Code Online (Sandbox Code Playgroud)