Tag: scala

在Apache spark中,使用mapPartitions和组合使用广播变量和map之间的区别是什么

在Spark中,我们使用广播变量使每台机器只读变量的副本。 我们通常在闭包之外创建一个广播变量(例如闭包所需的查找表)以提高性能。 我们还有一个名为mapPartitions的spark转换运算符,它试图实现相同的function(使用共享变量来提高性能)。 例如,在mapPartitions中,我们可以为每个分区共享数据库连接。 那么这两者有什么区别? 我们可以互换地使用它来共享变量吗?

在Play 2.0 Framework模板引擎中进行计算

play 2.0模板引擎是否支持html页面中的简单计算。 让我们说,我创建了一个sum.scala.html页面: @(a:String, b: String) answer is getSum(@a,@b) 有什么方法可以通过某种function“获得a和b的sum”吗? 或者有任何游戏2.0专家对游戏2.0模板引擎中的计算有什么好主意吗? 谢谢

将SIGTERM发送到JVM是否安全

虽然JVM会将SIGTERM和类似信号转换为关闭挂钩 ,但许多服务关闭脚本使用TCP端口启动关闭。 (例如Tomcat的关闭端口, Java Service Wrapper ,JBoss的管理接口等) 所以我认为使用信号和关机钩子来优雅地关闭java服务是不鼓励的,直到我发现Play! 框架是使用关闭挂钩管理服务生命周期, play dist生成的启动脚本假定信号将被发送到JVM的PID。 我知道信号是依赖于平台的,并且使用TCP端口是一种以跨平台方式管理服务的简单且可扩展的方式,但我想知道它是多么安全以及我需要考虑哪些风险,当我依赖时在SIGTERM和关闭挂钩上作为服务关闭的主要方法。

由于java.io.NotSerializableException:org.apache.spark.SparkContext,Spark作业失败

当我尝试在RDD[(Int,ArrayBuffer[(Int,Double)])]输入上应用方法(ComputeDwt)时,我面临exception。 我甚至使用extends Serialization选项来序列化spark中的对象。这是代码片段。 input:series:RDD[(Int,ArrayBuffer[(Int,Double)])] DWTsample extends Serialization is a class having computeDwt function. sc: sparkContext val kk:RDD[(Int,List[Double])]=series.map(t=>(t._1,new DWTsample().computeDwt(sc,t._2))) Error: org.apache.spark.SparkException: Job failed: java.io.NotSerializableException: org.apache.spark.SparkContext org.apache.spark.SparkException: Job failed: java.io.NotSerializableException: org.apache.spark.SparkContext at org.apache.spark.scheduler.DAGScheduler$$anonfun$abortStage$1.apply(DAGScheduler.scala:760) at org.apache.spark.scheduler.DAGScheduler$$anonfun$abortStage$1.apply(DAGScheduler.scala:758) at scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:60) at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:47) at org.apache.spark.scheduler.DAGScheduler.abortStage(DAGScheduler.scala:758) at org.apache.spark.scheduler.DAGScheduler.org$apache$spark$scheduler$DAGScheduler$$submitMissingTasks(DAGScheduler.scala:556) at org.apache.spark.scheduler.DAGScheduler.org$apache$spark$scheduler$DAGScheduler$$submitStage(DAGScheduler.scala:503) at org.apache.spark.scheduler.DAGScheduler.processEvent(DAGScheduler.scala:361) at org.apache.spark.scheduler.DAGScheduler.org$apache$spark$scheduler$DAGScheduler$$run(DAGScheduler.scala:441) at org.apache.spark.scheduler.DAGScheduler$$anon$1.run(DAGScheduler.scala:149) 谁能告诉我可能是什么问题以及应该采取什么措施来解决这个问题呢?

在Scala中实现内部特征,就像在Java中使用内部接口一样

Java中的这段代码编译时没有错误: interface T { interface Q { } } class C implements TQ { } 而Scala中的此代码不会: trait T { trait Q { } } class C extends TQ { } Scala中Java代码列表的正确翻译(如果存在)是什么? 关于语言设计的理论解释是受欢迎的。

SBT:将输入预先应用于inputKeys

在SBT中:我想定义一个inputKey,它读入命令行参数,稍微改变它们并将结果用作其他inputKeys的输入。 我试过了: lazy val demo = inputKey[Unit](“A demo input task.”) lazy val root = (project in file(“.”)).settings( libraryDependencies += jUnitInterface ).settings( demo := { val args: Seq[String] = spaceDelimited(“”).parsed val one = (run in Compile).fullInput(args(0) + “foo”).evaluated } ) 但我收到error: Illegal dynamic reference: args 。 我也尝试过: demo := { val args: Seq[String] = spaceDelimited(“”).parsed System.setProperty(“args0”, […]

在scala项目中,编译器错误 – 无法解析符号列表?

我完全是Scala的新人。 我在Ubuntu 12.04上安装了java,sbt和scala: nazar_art@nazar-desctop:~$ sbt sbt-version [warn] Alternative project directory .sbt (/home/nazar_art/.sbt) has been deprecated since sbt 0.12.0. [warn] Please use the standard location: /home/nazar_art/project [info] Loading project definition from /home/nazar_art/.sbt [info] Set current project to default-5b9232 (in build file:/home/nazar_art/) [info] 0.12.4 nazar_art@nazar-desctop:~$ scala -version Scala code runner version 2.10.2 — Copyright 2002-2013, LAMP/EPFL nazar_art@nazar-desctop:~$ […]

如何在Java或Scala中读取和写入来自/到镶木地板文件的Map ?

寻找一个关于如何在Java或Scala中读取和写入来自/到镶木地板文件的Map的简明示例? 这是期望的结构,使用com.fasterxml.jackson.databind.ObjectMapper作为Java中的序列化程序(即使用镶木地板查找等效项): public static Map read(InputStream inputStream) throws IOException { ObjectMapper objectMapper = new ObjectMapper(); return objectMapper.readValue(inputStream, new TypeReference<Map>() { }); } public static void write(OutputStream outputStream, Map map) throws IOException { ObjectMapper objectMapper = new ObjectMapper(); objectMapper.writeValue(outputStream, map); }

在Scala中执行复杂的XPath查询

在scala中使用哪种最简单的API来对文档执行以下XPath查询? //s:Annotation[@type=’attitude’]/s:Content/s:Parameter[@role=’type’ and not(text())] //s:Annotation[s:Content/s:Parameter[@role=’id’ and not(text())]]/@type ( s被定义为特定命名空间的昵称) 我在Scala的XML库上找到的唯一文档没有关于执行复杂的实际XPath查询的信息。 我曾经为此目的(在Java中)喜欢JDOM ,但由于JDOM不支持generics,因此在Scala中使用会很痛苦。 (Java的其他XML库在Java中往往更加痛苦,但我承认我不了解真实情况。)

清理基于Play框架的项目

运行一个新的基于Play-framework 2.0的项目后,我无法清理它 – 生成的工作人员坚持下面, $ play new myapp > app name: myapp > template: java app myapp/ ├── app │ ├── controllers │ └── views ├── conf ├── project └── public ├── images ├── javascripts └── stylesheets $ cd myapp $ play [myapp] run 12345 Ctrl D [myapp] clean myapp/ ├── app │ ├── controllers […]