我想创建一个使用slick创建数据库模式的set任务.为此,我在我的项目中有一个如下的任务对象:
object CreateSchema {
val instance = Database.forConfig("localDb")
def main(args: Array[String]) {
val createFuture = instance.run(createActions)
...
Await.ready(createFuture, Duration.Inf)
}
}
Run Code Online (Sandbox Code Playgroud)
在我的build.sbt定义任务中:
lazy val createSchema = taskKey[Unit]("CREATE database schema")
fullRunTask(createSchema, Runtime, "sbt.CreateSchema")
Run Code Online (Sandbox Code Playgroud)
当我从命令行运行时,它会按预期执行sbt createSchema.
然而,问题是application.conf似乎没有考虑到(我也尝试过不同的范围,如Compile或Test).结果,任务因失败而失败com.typesafe.config.ConfigException$Missing: No configuration setting found for key 'localDb'.
我该如何解决这个问题,以便配置可用?
我在这里发现了很多关于使用application.conf内部问题的问题build.sbt,但这不是我需要的.
给出以下代码snippelt:
import scala.util.Try
def foo(x:Int) : (Int, String) = {
(x+1, x.toString)
}
def main(args: Array[String]) : Unit = {
val r1: Try[(Int, String)] = for {
v <- Try { foo(3) }
} yield v
val r2: Try[(Int, String)] = for {
(i, s) <- Try { foo(3) } // compile warning refers to this line
} yield (i, s)
}
Run Code Online (Sandbox Code Playgroud)
1.为什么编译上面的代码会抛出以下警告?
`withFilter' method does not yet exist on scala.util.Try[(Int, String)], using `filter' method instead
[warn] (i, s) <- …Run Code Online (Sandbox Code Playgroud) 我指的是下面列出的Ken Scambler的源代码,也参见GitHub源代码.
package kenbot.free
import scalaz._
import Scalaz._
import Free._
import scala.collection.mutable
// This example is based off the one in Runar Bjarnason's "Dead Simple Dependency Injection" talk.
// http://www.youtube.com/watch?v=ZasXwtTRkio
// 0. Fantasy API
// def put(key: String, value: String): Unit
// def get(key: String): String
// def delete(key: String): Unit
// 1. ADT
sealed trait KVS[+Next]
case class Put[Next](key: String, value: String, next: Next) extends KVS[Next] // <---- def put(key: String, value: String): Unit
case class Get[Next](key: …Run Code Online (Sandbox Code Playgroud) 在 Spark DataFrames 上使用许多 select 语句或表达式,我想知道它们对由操作触发后的后续转换的性能影响。
给定一个df包含 10 列 a 到 j的数据框。
如果我as对每列进行列重命名,会有什么影响?
df.select( df("a").as("1"), ..., df("j").as("10"))
如果我选择一个子集(例如 5 列)怎么办
val df2 = df.select( df("a"), ..., df("e") )
湾 如何处理 Spark 这个投影?是df仍然保留(如df2为投影),所以df可以作为一种参考?或者是df2新鲜创建并df丢弃?(这里忽略任何坚持)
中Column使用的一般表达式的影响如何select?
上述情况的性能测试是否可用?性能测量一般在某处可用吗?如果没有,如何最好地衡量性能?
我有两个 Sbt 项目,my-commons和my-service。
与依赖关系
libraryDependencies ++= Seq(
"nz.ac.waikato.cms.weka" % "attributeSelectionSearchMethods" % "1.0.7",
"de.bwaldvogel" % "liblinear" % "1.95"
"io.dropwizard.metrics" % "metrics-graphite" % "3.1.2",
"com.github.nscala-time" %% "nscala-time" % "2.2.0",
"org.apache.hive" % "hive-jdbc" % "1.1.0-cdh5.4.5",
"org.apache.hadoop" % "hadoop-common" % "2.6.0-cdh5.4.5",
"org.apache.hadoop" % "hadoop-hdfs" % "2.6.0-cdh5.4.5"
)
Run Code Online (Sandbox Code Playgroud)
与依赖关系
libraryDependencies ++= {
Seq(
"ch.qos.logback" % "logback-classic" % "1.0.13",
"io.spray" %% "spray-httpx" % "1.3.3",
"io.spray" %% "spray-json" % "1.3.2",
"io.spray" %% "spray-can" % "1.3.3",
"io.spray" %% "spray-routing" % "1.3.3",
"io.spray" …Run Code Online (Sandbox Code Playgroud) 我试图在给定一些变量参数的情况下创建一个特定且唯一的类型.
下面列出了代表前四个自然数的预定义类型(使用类似于Digit0..Digit9,DimensionCons和EndDimension(如HNil)的HList).
object Defined {
type D1 = DimensionCons[Digit1, EndDimension.type]
val d1 = DimensionCons(Digit1(), EndDimension)
type D2 = DimensionCons[Digit2, EndDimension.type]
val d2 = DimensionCons(Digit2(), EndDimension)
type D3 = DimensionCons[Digit3, EndDimension.type]
val d3 = DimensionCons(Digit3(), EndDimension)
type D4 = DimensionCons[Digit4, EndDimension.type]
val d4 = DimensionCons(Digit4(), EndDimension)
}
Run Code Online (Sandbox Code Playgroud)
我正在寻找一种带有指示签名的方法
def getDimensionTpe[D <: Dimension](dim: Int) : D
Run Code Online (Sandbox Code Playgroud)
即如返回DimensionCons[Digit2, EndDimension.type]的getDimensionTpe(2).
问题:
谢谢,马丁
将包含列(例如“a”、“b”)的数据帧保存为 parquet,然后在稍后的时间点读取 parquet 不会提供与文件相同的列顺序(可能是“b”、“a” fe)保存与.
不幸的是,我无法弄清楚订单是如何受到影响的以及我如何控制它。
在镶木地板中阅读时如何保持原始列顺序?
我试图使用以下方法解析逗号分隔的字符串:
val array = input.split(",")
Run Code Online (Sandbox Code Playgroud)
然后我注意到一些输入行在引号内有",":
data0, "data1", data2, data3, "data4-1, data4-2, data4-3", data5
Run Code Online (Sandbox Code Playgroud)
*请注意,数据不是很干净,因此有些字段在引号内,而有些字段则没有
我如何将这条线分成:
array(0) = data0
array(1) = data1
array(2) = data2
array(3) = data3
array(4) = data4-1, data4-2, data4-3
array(5) = data5
Run Code Online (Sandbox Code Playgroud)