小编jak*_*ack的帖子

停止正在运行的Spark应用程序

我在独立模式下运行Spark集群.

我使用选项以集群模式提交了Spark应用程序:

--deploy-mode cluster –supervise 
Run Code Online (Sandbox Code Playgroud)

这样工作就是容错的.

现在我需要保持集群运行但是停止运行应用程序.

我尝试过的事情:

  • 停止群集并重新启动它.但是当我这样做时,应用程序恢复执行.
  • 使用Kill -9名为DriverWrapper的守护进程,但之后该作业将再次恢复.
  • 我还删除了临时文件和目录并重新启动了群集,但作业又恢复了.

所以运行的应用程序真的是容错的:)

问题:根据上述情况,有人可以建议我如何阻止作业运行,或者我可以尝试阻止应用程序运行,但保持集群运行.

如果我调用sparkContext.stop()应该这样做,但是这需要在代码中进行一些工作,但是你可以在没有代码更改的情况下建议任何其他方式.

apache-spark

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

具有相同相邻值的Scala列表

我有这个清单:

List("Black","Black","Green","White")
Run Code Online (Sandbox Code Playgroud)

如何检查列表中是否有两个相同的相邻值?像这样:

List("Black","Black","Green","White") true

List("Black","Yellow","Green","White") false

List("Black","Yellow","Black","Yellow") false
Run Code Online (Sandbox Code Playgroud)

functional-programming scala

12
推荐指数
2
解决办法
322
查看次数

自动装配的spring bean不是代理

我正在开发一个连接MySQL数据库的非常小的应用程序.

我正在尝试创建表记录但是"没有正在进行的事务".

我有适当的东西:

  • 服务接口MyService及其实现MyServiceImpl
  • 我用@Service注释了服务impl
  • 在控制器中,我使用字段@Autowired MyService的接口名称
  • 我有正确的事务配置,因为它最初是由roo生成的
  • MyServiceImpl实现了一个公共方法MyService.create(...)

但,

当我远程调试并检查控制器的myService字段时,我看到的是com.some.package.services.MyService@12345(而不是像$ Proxy73这样的东西)对我来说是不对的,因为应该自动装配的是代理不是他的目标豆(我认为这是).如果我是正确的,那么没有事务是有意义的,因为注释只会在调用在代理上使用@Transactional注释的公共方法时启动.

请告诉我为什么spring在这个设置中注入目标bean.

谢谢

service proxy spring target autowired

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

鲍勃叔叔的TDD规则

UncleBobsThreeTDDRules

  1. 除非要进行失败的单元测试通过,否则不允许编写任何生产代码.
  2. 您不得再编写任何单元测试,而不是足以使其失败; 和编译失败是失败.
  3. 您不能再编写足以通过一个失败单元测试的生产代码.

有人能告诉我1和3之间的区别吗?这对我来说不是很清楚.

对我来说1和3可以合并,还是这些规则也提示顺序?

tdd

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

Maven 插件日志记录

我实现了自己的 Maven 插件 mojo,其中使用了 log4j + slf4j。在插件项目中,我已经包含了正确的 jar,并且可以从代码中看到正确的语句记录。

现在我想在另一个客户端项目中使用这个新的 Maven 插件,但无法使其正常工作。

在插件本身中,我在 src/main/resources 下包含了一个 log4j.properties ,它可以正常工作,如上所述。但是,当我尝试将该插件包含在另一个客户端项目中时,不会创建日志文件。

问题是我还必须尝试或做什么才能使其正常工作?谢谢。

logging log4j mojo slf4j maven

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

启动单个Spark Slave(或Worker)

当我这样做

spark-1.3.0-bin-hadoop2.4% sbin/start-slave.sh
Run Code Online (Sandbox Code Playgroud)

我收到这条消息

failed to launch org.apache.spark.deploy.worker.Worker:
                         Default is conf/spark-defaults.conf.
Run Code Online (Sandbox Code Playgroud)

即使我有这个:

spark-1.3.0-bin-hadoop2.4% ll conf | grep spark-defaults.conf
-rw-rwxr--+ 1 xxxx.xxxxx ama-unix  507 Apr 29 07:09 spark-defaults.conf
-rw-rwxr--+ 1 xxxx.xxxxx ama-unix  507 Apr 13 12:06 spark-defaults.conf.template
Run Code Online (Sandbox Code Playgroud)

知道为什么吗?

谢谢

apache-spark

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

修复任一 Java Vavr 中的左侧

我想避免:

Either<Error, Employee> processEmployee(Employee e)
Run Code Online (Sandbox Code Playgroud)

并使用:

Result<Employee> processEmployee(Employee e)
Run Code Online (Sandbox Code Playgroud)

其中 left 是固定的:

Result<T> extends Either<Error, T>
Run Code Online (Sandbox Code Playgroud)

有这样的例子吗?

当我尝试这个时,没有任何东西可以为我编译,我被迫实现一个Result<T>我想避免的具体类。

我想这样做的原因是为了简化方法签名和使用这些方法的流代码。

java functional-programming vavr

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

Vaadin vs jQuery UI

我正在开始一个新的Java项目,在我看来,最流行的UI技术是jQuery UI与Vaadin(或GWT).

是否有关于如何选择最合适的UI框架的指南,这里可以注意到的任何优势和优势.

例如,使用Vaadin就像开发一个类似于开发Java Swing应用程序的桌面应用程序,这与使用jQuery不同.

但我会对此有任何额外的想法表示感谢.

谢谢.

jquery vaadin

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

使用 TDD 方法并避免 Java 静态方法

我刚刚收到了一些关于求职 Java 编码练习的反馈。他们不喜欢反馈中提到的解决方案和两个问题(我非常感谢,因为给出的反馈非常少):

  • 显然,我没有使用 TDD 方法。
  • 我过度使用静态方法,我知道静态方法是反面向对象的,但我只在验证和 util 类型方法中使用它们。

所以这里有两个问题:

不使用 TDD 方法的可能迹象是什么?

什么编码风格或模式可以替代静态方法?

在前两个回答之后,我还有另一个问题。

您是否同意使用静态方法仅在限制代码的可测试性时才不好,而不是在它们本身不好时。

那么回到我的工作申请练习解决方案,如果静态方法不限制我的代码的可测试性,它仍然不好使用吗?我的验证方法非常简单 'Validator.notNull(p,"paramName")' 现在我为什么要嘲笑它?

非常感谢。

methods tdd static

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

处理IO Monad FP中不纯净的副作用

试图了解如何最好地应对FP中的副作用。

我实现了这个基本的IO实现:

  trait IO[A] {
    def run: A
  }
  object IO {
    def unit[A](a: => A): IO[A] = new IO[A] { def run = a }
    def loadFile(fileResourcePath: String) = IO.unit[List[String]]{ 
        Source.fromResource(fileResourcePath).getLines.toList }
    def printMessage(message: String) = IO.unit[Unit]{ println(message) }
    def readLine(message:String) = IO.unit[String]{ StdIn.readLine() }
  }
Run Code Online (Sandbox Code Playgroud)

我有以下用例:

- load lines from log file
- parse each line to BusinessType object
- process each BusinessType object
- print process result
Run Code Online (Sandbox Code Playgroud)

情况1:所以Scala代码可能看起来像这样

val load: String => List[String]
val parse: List[String] => …
Run Code Online (Sandbox Code Playgroud)

monads functional-programming scala

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