小编Mar*_*nne的帖子

如何在自定义sbt任务中通过application.conf进行Slick配置?

我想创建一个使用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似乎没有考虑到(我也尝试过不同的范围,如CompileTest).结果,任务因失败而失败com.typesafe.config.ConfigException$Missing: No configuration setting found for key 'localDb'.

我该如何解决这个问题,以便配置可用?

我在这里发现了很多关于使用application.conf内部问题的问题build.sbt,但这不是我需要的.

scala sbt slick

7
推荐指数
1
解决办法
2029
查看次数

为什么for-comprehension与tuple类型的提取器一起使用会导致`filter`的编译警告?

给出以下代码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)

scala extractor for-comprehension

7
推荐指数
1
解决办法
612
查看次数

自由monad与AST的关系

我指的是下面列出的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)

monads scala abstract-syntax-tree

6
推荐指数
1
解决办法
532
查看次数

select 语句对 Spark DataFrames 的性能有什么影响?

在 Spark DataFrames 上使用许多 select 语句或表达式,我想知道它们对由操作触发后的后续转换的性能影响。

给定一个df包含 10 列 a 到 j的数据框。

  1. 如果我as对每列进行列重命名,会有什么影响?

    df.select( df("a").as("1"), ..., df("j").as("10"))

  2. 如果我选择一个子集(例如 5 列)怎么办

    val df2 = df.select( df("a"), ..., df("e") )

    湾 如何处理 Spark 这个投影?是df仍然保留(如df2为投影),所以df可以作为一种参考?或者是df2新鲜创建并df丢弃?(这里忽略任何坚持)

  3. Column使用的一般表达式的影响如何select

  4. 上述情况的性能测试是否可用?性能测量一般在某处可用吗?如果没有,如何最好地衡量性能?

scala apache-spark apache-spark-sql

5
推荐指数
0
解决办法
484
查看次数

如何排除 Sbt 中的传递依赖(在程序集插件的上下文中)?

我有两个 Sbt 项目,my-commonsmy-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)

scala sbt

5
推荐指数
1
解决办法
6335
查看次数

给定方法参数返回最具体的类型

我试图在给定一些变量参数的情况下创建一个特定且唯一的类型.

下面列出了代表前四个自然数的预定义类型(使用类似于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).

问题:

  • 这是否可能没有whitebox宏(生成类型?)如果是这样,如何以及如何处理?
  • 是否有可能或适用的替代技术?
  • 路径依赖类型可以帮助吗?

谢谢,马丁

types scala shapeless scala-macros

5
推荐指数
1
解决办法
335
查看次数

读取镶木地板时是否可以保持列顺序?

将包含列(例如“a”、“b”)的数据帧保存为 parquet,然后在稍后的时间点读取 parquet 不会提供与文件相同的列顺序(可能是“b”、“a” fe)保存与.

不幸的是,我无法弄清楚订单是如何受到影响的以及我如何控制它。

在镶木地板中阅读时如何保持原始列顺序?

scala apache-spark apache-spark-sql

4
推荐指数
1
解决办法
7016
查看次数

如何用引号中的某些项解析逗号分隔行(CSV)?

我试图使用以下方法解析逗号分隔的字符串:

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)

java regex csv scala

1
推荐指数
1
解决办法
1540
查看次数