Tag: scala

使用saveAsTextFile的Spark NullPointerException

在尝试合并并保存RDD时,我得到了一个N​​PE。 代码在本地工作, 并在scala shell中的集群上工作,但在将其作为作业提交到集群时会引发错误。 我已经尝试使用take()打印输出以查看rdd是否包含一些空数据,但这会引发相同的错误 – 因为它在shell中正常工作会很痛苦。 我正在保存到HDFS并且在变量中有完整的url路径 – 在MLLib训练阶段,模型可以使用此方法保存。 任何想法非常感谢! Scala代码(整体预测function): //Load the Random Forest val rfModel = RandomForestModel.load(sc, modelPath) //Make the predictions – Here the label is the unique ID of the point val rfPreds = labDistVect.map(p => (p.label, rfModel.predict(p.features))) //Collect and save println(“Done Modelling, now saving preds”) val outP = rfPreds.coalesce(1,true).saveAsTextFile(outPreds) println(“Done […]

Play Framework 2.2.1 – 编译错误:“类索引中的方法呈现不能应用于给定类型;”

我是Play Framework的新手,并尝试从本手册中构建Todo列表。 当我尝试运行应用程序时,我收到错误: Compilation Error error: method render in class index cannot be applied to given types; 我的代码是(相关部分): MainController.java : final static Form taskForm = Form.form(Task.class); public static Result tasks() { return ok( views.html.index.render(Task.all(), taskForm) ); } index.sacala.html : @(tasks: List[Models.Task], taskForm: Form[Models.Task]) 我环顾四周,我找到的最接近的线程是这个 ,但我无法使用它来解决问题(可能是由于对环境/框架缺乏了解……)。 最后一件值得一提的事: 如果我将’index.sacala.html’更改为无参数(并相应地更改’MainController’,一切都很完美。 非常感谢有关解决此编译错误的任何想法。 编辑: Task.all()代码是: public static List all() { […]

Java / Scala中的非短路逻辑(布尔)运算符有很好的用途吗?

我最近发现Java(和Scala)包括非短路逻辑运算符& , | ,和^ 。 我以前认为这些只能作为按位运算符。 虽然可能存在^的争论,但我无法想到使用非短路逻辑运算符的非常好的理由 – 尽管可以肯定,我可以设想一个例子。 这些运营商有用吗? 它们似乎更容易导致难以捕获的错误。 scala> def foo = { | println(“foo”) | true | } foo: Boolean scala> def bar = { | println(“bar”) | true | } bar: Boolean scala> foo || bar foo res5: Boolean = true scala> foo | bar foo bar res6: Boolean = […]

如何使用GridBagLayout将组件放在右下角?

我需要在JPanel显示单个组件,并且我希望始终将该组件保留在右下角。 我尝试用GridBagLayout做到这一点: val infoArea = new TextArea { text = “Hello!” border = Swing.EmptyBorder(30) background = Color.RED editable = false } val p = new JPanel p.setLayout(new GridBagLayout) val c = new GridBagConstraints c.gridx = 0 c.gridy = 0 c.anchor = GridBagConstraints.LAST_LINE_END p.add(infoArea.peer,c) val f = new JFrame f.setContentPane(p) f.setVisible(true) 但由于某种原因,文本区域处于中心位置: 我在这做错了什么?

Scala:包导入冲突

我正在导入一个隐式:scala.concurrent.ExecutionContext.Implicits.global,在此之前,我import global.Analytics.xyzMethod ,其中global是我的包中的目录。 但是,出于某种原因,scala这个全局的东西与第一个全局相同。 我该如何解决这个问题?

使用Java代码中的Scala类型别名

假设我在scala中定义了类型别名 object Foo { type Bar = Option[String] } 看起来我不能像Java那样在Java代码中引用别名(它只是抱怨无法找到符号 ): import Foo.*; public class Cafebabe { void bar(Bar x) { //… } } 我也尝试过静态导入。 (更具体地说,我有javareflection代码,我无法更改,需要知道参数类型,我需要将Bar别名提供给它)。 我知道,我可以在Scala中创建包装器 class BarWrapper(value: Bar) 但也许我错过了其他一些方式?

在子文件夹中找不到视图

我刚开始使用Play2.0框架,我正在尝试在我的home/index模板中使用主模板。 我遇到的问题是,当它在Shared文件夹中找不到“main”时,如果我将它取出并放入Views根目录,那么它可以正常工作。 所以我想知道如何从index.scala.html引用index.scala.html ? 我的文件夹结构如下: 查看 家 index.scala.html 共享 main.scala.html 我在index.scala.html中的代码是: @head = { } @content = { Home Screen!! } ERROR: @main(title = “Home”,head, content) 我得到的错误是: not found: value main.

Scala错误:无法在Scala IDE和Eclipse中找到或加载主类

这是我的问题,我知道有很多类似问题的答案,但是在我尝试之后它们都没有奏效。 我正在使用Scala IDE 4.6和eclipse Oxygen运行代码,所有这些错误都失败了。 这是我的scala编译器配置: 这是我的运行配置: 这是我在控制台中显示的代码,文件结构和错误: 以下是问题控制台的信息: 从在线答案,我已经尝试在构建之前清理项目,我也尝试了所有版本的JVM和Scala编译器,所有这些都没有帮助。 代码是直接从在线课程代码导入的,所以我相信代码中不应该有任何错误。

使用带有java和scala的protobufs的问题

我有一个文件xxx.proto 。 我下载了protobuf编译器并安装了它。 然后我发出了这个命令 protoc –java_out=./ xxx.proto 它生成了我的xxx.java 现在我想将这个文件编译成一个类文件,我可以使用它与Scala。 javac xxx.java 这给了我这个错误 xxx.java:7: package com.google.protobuf does not exist com.google.protobuf.ExtensionRegistry registry) { ^ xxx.java:12450: package com.google.protobuf.Descriptors does not exist private static com.google.protobuf.Descriptors.Descriptor ^ xxx.java:12453: package com.google.protobuf.GeneratedMessage does not exist com.google.protobuf.GeneratedMessage.FieldAccessorTable … … … 100 errors 现在我猜,它没有包。 因此,我将com.google.protobuf包的类文件复制到xxx.java所在的同一文件夹中。 注意 – 我没有编译这个包。 我从另一个包含jar文件的扩展中下载了jar。 所以我提取了它们。 现在我xxx.java所在的当前路径有protobuf库的com / google / […]

如何将嵌套的scala集合转换为嵌套的Java集合

我在Scala和Java之间有编译问题。 我的Java代码需要一个 java.util.Map<Double, java.lang.Iterable> 我的scala代码有一个 Map[Double, Vector[Foo]] 我收到编译错误: error: type mismatch; found : scala.collection.immutable.Map[scala.Double,Vector[Foo] required: java.util.Map[java.lang.Double,java.lang.Iterable[Foo]] 似乎scala.collection.JavaConversions不适用于嵌套集合,即使Vector可以被隐式转换为Iterable。 没有迭代scala集合并手动进行转换,我可以做些什么来使类型工作?