小编Yan*_*san的帖子

如何使用 SyslogAppender 设置 syslog 应用程序名称

如何使用ch.qos.logback.classic.net.SyslogAppender.​ 看来不是故意的。

syslog logback

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

isInstance和isInstanceOf之间的区别

有没有之间的差异classOf[String].isInstance("42")"42".isInstanceOf[String]

如果是的话,你能解释一下吗?

scala

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

如何处理读者[A,未来[B]]

鉴于以下3个功能,

def f[A, B] : Reader[A, B] = ???
def g[A, B, C](b: B) : Reader[A, Future[C]] = ???
def h[A, C, D](c: C) : Reader[A, D] = ???
Run Code Online (Sandbox Code Playgroud)

如何写一个monadic组合器?

这是我目前的解决方案,但我并不满意所有这些样板

def f2[A, B] : ReaderT[Future, A, B] = kleisli {
  a => Future.successful(f.run(a))
}

def h2[A, C, D](c: C) : ReaderT[Future, A, D] = kleisli {
  a => Future.successful(h(c).run(a))
}

def g2[A, B, C](b: B) : ReaderT[Future, A, C] = kleisli {
  a => g(b).run(a)
}

def i[A,B,C,D] : …
Run Code Online (Sandbox Code Playgroud)

scala scalaz

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

如何使用 Spark DataFrame API 按 max(date) 选择

给定以下数据集

\n\n
id v  date\n1  a1 1\n1  a2 2\n2  b1 3\n2  b2 4\n
Run Code Online (Sandbox Code Playgroud)\n\n

我只想为每个 ID 选择最后一个值(关于日期)。

\n\n

我想出了这个代码:

\n\n
scala> val df = sc.parallelize(List((41,"a1",1), (1, "a2", 2), (2, "b1", 3), (2, "b2", 4))).toDF("id", "v", "date")\ndf: org.apache.spark.sql.DataFrame = [id: int, v: string, date: int]\n\nscala> val agg = df.groupBy("id").max("date")\nagg: org.apache.spark.sql.DataFrame = [id: int, max(date): int]\n\nscala> val res = df.join(agg, df("id") === agg("id") && df("date") === agg("max(date)"))\n16/11/14 22:25:01 WARN sql.Column: Constructing trivially true equals predicate, \'id#3 = id#3\'. Perhaps you need to …
Run Code Online (Sandbox Code Playgroud)

apache-spark apache-spark-sql

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

如何将 jenkins 多分支管道与 monorepo 一起使用

我在 monorepo 中有一个项目,有 2 个工件:前端和后端。

my-project
  frontend
    Jenkinsfile
  backend
    Jenkinsfile
Run Code Online (Sandbox Code Playgroud)

我想使用蓝海和多分支管道,但有没有办法使用两个Jenkinsfile和两个管道?Afaik,Jenkinsfile 需要位于存储库的根目录。

否则,我将使用经典管道,但我需要为每个新分支创建一个新管道,这很痛苦。

jenkins jenkins-pipeline multibranch-pipeline jenkins-blueocean

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

对于具有 35,000 个分区的 Spark 作业,建议的集群大小是多少

我使用的是 Dataproc 1.4,并且有一个包含 35,000 个分区的 Spark 作业(输入大小为 3.4 TB)。我正在使用 n1-standard-4 机器的 120 个节点集群(即 480 个 cpu)。

问题是我在随机播放期间遇到网络错误(启用或禁用外部随机播放服务的结果相同),例如

"Connection to xxx:44035 has been quiet for 120000 ms while there are outstanding requests. Assuming connection is dead; please adjust spark.network.timeout if this is wrong."
Run Code Online (Sandbox Code Playgroud)

对于每个节点的分区数量有什么建议吗?我应该使用更多节点还是更大的实例类型?

编辑2021-08-23

正如评论中所建议的,我已经使用 128G 和 256G 磁盘进行了测试,两次运行都具有相同的写入速度(~ 4 GiB/s)

在此输入图像描述

  • 在 3:00 到 3:20 之间,spark 正在读取输入并写入 shuffle 文件。CPU 消耗相当低(~40%)。为什么?
  • 下午 3:20 后,一个新阶段正在读取随机文件以写入输出,作业失败

apache-spark google-cloud-dataproc

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

Scala将字符串转换为地图

转换它的最快方法是什么?

{"a":"ab","b":"cd","c":"cd","d":"de","e":"ef","f":"fg"}

scala中的可变映射?我从~500MB文件中读取了这个输入字符串.这就是我关注速度的原因.

json scala map

4
推荐指数
2
解决办法
2万
查看次数

隐含参数VS默认参数值

Scala中至少有两种技术可以将默认值传递给方法

1)默认参数值

scala> def f(i: Int = 0) = i
f: (i: Int)Int

scala> f()
res0: Int = 0

scala> f(1)
res1: Int = 1
Run Code Online (Sandbox Code Playgroud)

2)隐含参数

scala> def g(implicit i: Int) = i
g: (implicit i: Int)Int

scala> implicit val default = 0
default: Int = 0

scala> g(1)
res5: Int = 1

scala> g
res7: Int = 0
Run Code Online (Sandbox Code Playgroud)

在哪种情况下你选择一个或另一个?凭借隐式的力量,默认值是一个有用的功能吗?

scala implicit

4
推荐指数
2
解决办法
2551
查看次数

如何组合 Kleisli[M, A, C] 和 Kleisli[M, B, C]

我遵循了优秀书籍Reactive Domain Modeling的设计,我需要混合Kleisli使用不同的类型:

object CombinedKleisli {
  type User = String
  type Project = String

  trait UserRepo
  trait ProjectRepo
  trait UserService {
    def findByUserId : Kleisli[Future, UserRepo, User]
  }
  trait ProjectService {
    def findProjectById : Kleisli[Future, ProjectRepo, Project]
  }
  trait ComposedService extends UserService with ProjectService {
    for {
      user <- findByUserId
      project <- findProjectById
    } yield (user, project)
  }

}
Run Code Online (Sandbox Code Playgroud)

由于类型不对齐,我收到以下编译错误

Error:(28, 15) type mismatch;
 found   : scalaz.Kleisli[scala.concurrent.Future,domain.service.ServiceTest.ProjectRepo,(domain.service.ServiceTest.User, domain.service.ServiceTest.Project)]
    (which expands to)  scalaz.Kleisli[scala.concurrent.Future,domain.service.ServiceTest.ProjectRepo,(String, String)]
 required: scalaz.Kleisli[scala.concurrent.Future,domain.service.ServiceTest.UserRepo,?]
      project …
Run Code Online (Sandbox Code Playgroud)

functional-programming scala scalaz kleisli

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

如何找出当我在scalaz中使用Monoid for Map时会发生什么

  1. 我怎样才能找到所有的实例Monoid.例如,如何知道scalaz中是否有Monoid实例Map?如果是的话,它在源代码中的位置.我试过以下没有成功

    @ implicitly[Monoid[Map[_, _]]]
    Main.scala:1146: could not find implicit value for parameter e: scalaz.Monoid[Map[_, _]]
    implicitly[Monoid[Map[_, _]]]
              ^
    Compilation Failed
    
    Run Code Online (Sandbox Code Playgroud)
  2. 当我从REPL执行代码时,我怎么能看到会发生什么(隐式转换......)

    Map("a", 1) |+| Map("a", 1)
    
    Run Code Online (Sandbox Code Playgroud)

scala implicit-conversion scalaz

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