下载了类型安全2.0与Play 2(2.0RC3)
跑g8 typesafehub/play-scala也是g8 typesafehub/play-java(都做同样的事)
一切都好,然后sbt运行
所有看起来都没问题,出现在端口9000上.但是当我进入网页时,我得到一个例外:
[error] {file:/C:/typesafe2/my_app_scala/}my_app_scala/compile:sources: java.lan
g.ExceptionInInitializerError
[error] application -
! Internal server error, for request [GET /] ->
play.api.UnexpectedException: Unexpected exception [ExceptionInInitializerError:
null]
at sbt.PlayReloader$$anon$2$$anonfun$reload$3$$anonfun$2$$anonfun$apply$
11.apply(PlayReloader.scala:228) ~[na:na]
at sbt.PlayReloader$$anon$2$$anonfun$reload$3$$anonfun$2$$anonfun$apply$
11.apply(PlayReloader.scala:221) ~[na:na]
at scala.Option.map(Option.scala:133) ~[scala-library.jar:0.11.2]
at sbt.PlayReloader$$anon$2$$anonfun$reload$3$$anonfun$2.apply(PlayReloa
der.scala:221) ~[na:na]
at sbt.PlayReloader$$anon$2$$anonfun$reload$3$$anonfun$2.apply(PlayReloa
der.scala:219) ~[na:na]
at scala.Either$LeftProjection.map(Either.scala:183) ~[scala-library.jar
:0.11.2]
java.lang.ExceptionInInitializerError: null
at play.templates.ScalaTemplateCompiler$TemplateAsFunctionCompiler$.getF
unctionMapping(ScalaTemplates.scala:561) ~[templates_2.9.1-2.0-RC3.jar:2.0-RC3]
at play.templates.ScalaTemplateCompiler$.generateFinalTemplate(ScalaTemp
lates.scala:500) ~[templates_2.9.1-2.0-RC3.jar:2.0-RC3]
at play.templates.ScalaTemplateCompiler$.compile(ScalaTemplates.scala:18
9) ~[templates_2.9.1-2.0-RC3.jar:2.0-RC3]
at sbt.PlayCommands$$anonfun$48$$anonfun$apply$38.apply(PlayCommands.sca
la:533) ~[na:na]
at sbt.PlayCommands$$anonfun$48$$anonfun$apply$38.apply(PlayCommands.sca
la:531) ~[na:na]
at scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.
scala:60) ~[scala-library.jar:0.11.2]
Caused by: scala.tools.nsc.MissingRequirementError: …
Run Code Online (Sandbox Code Playgroud) 我的HortonWorks HDP 2.3_1 VirtualBox VM中有一个HDFS文件.
如果我进入客户端spark-shell并因此引用该文件,它可以正常工作
val words = sc.textFile("hdfs:///tmp/people.txt")words.count
但是,如果我尝试从Windows主机上的本地Spark应用程序访问它,它将无法正常工作
val conf = new SparkConf().setMaster("local").setAppName("My App")
val sc = new SparkContext(conf)
val words=sc.textFile("hdfs://localhost:8020/tmp/people.txt")
words.count
Run Code Online (Sandbox Code Playgroud)
发射
线程"main"中的异常org.apache.spark.SparkException:作业因阶段失败而中止:阶段0.0中的任务0失败1次,最近失败:阶段0.0中丢失的任务0.0(TID 0,localhost):org.apache .hadoop.hdfs.BlockMissingException:无法获取块:BP-452094660-10.0.2.15-1437494483194:blk_1073742905_2098 file =/tmp/people.txt at org.apache.hadoop.hdfs.DFSInputStream.chooseDataNode(DFSInputStream.java:838)在org.apache.hadoop.hdfs.DFSInputStream.blockSeekTo(DFSInputStream.java:526)
端口8020是打开的,如果我选择了错误的文件名,它会告诉我
Input path does not exist: hdfs://localhost:8020/tmp/people.txt!!
Run Code Online (Sandbox Code Playgroud)
localhost:8020应该是正确的客户HDP VM帽子NAT端口隧道到我的主机Windows框.
我告诉我,如果我给它错误的名字,我得到一个适当的例外
我的pom有
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.11</artifactId>
<version>1.4.1</version>
<scope>provided</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
难道我做错了什么?什么是BlockMissingException试图告诉我?
可能重复:
Lambda表达式在Java 8中不起作用?
简单,毫无意义的应用程序与lambda:
public static void main(String [] args){FileFilter java =(File f) - > f.getName().endsWith(".java"); }
将其设置为使用JDK 8.如果我不尝试使用lambda,则编译/运行正常.
但是,如果我这样做,我得到:
将源文件编译为...\JavaApplication1 \建立\类... JavaApplication1的\ src\javaapplication1\JavaApplication1.java:20:错误:lambda表达式没有在-source 1.8的FileFilter的Java =(文件F)的支持 - >˚F .getName()的endsWith.( "Java的."); (使用-source 8或更高版本来启用lambda表达式)1错误
似乎对它是源8还是源1.8感到困惑
现在使用lambda特定版本时工作,例如下面运行正常:
import java.io.File;
import java.io.FileFilter;
import java.util.Arrays;
public class JavaApplication1 {
public static void main(String[] args) {
Arrays.asList(new File("c:/").listFiles((File f) -> f.getName().endsWith(".txt")))
.forEach( file-> {System.out.println(file);});
}
}
Run Code Online (Sandbox Code Playgroud) 以下代码给出了错误:
[1.0-ml] XDMP-UNDVAR: (err:XPST0008) Undefined variable $ename
Run Code Online (Sandbox Code Playgroud)
但是,如果我更改xsl:element
为<xsl:element name="yyyXXX">
它,则表明它在值中看到$ ename,即
<yyyXXX>zzz</yyyXXX>
下面的样式表在Saxonica 9.x中运行得很好
谢谢.
xquery version "1.0-ml";
xdmp:xslt-eval(
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xdmp="http://marklogic.com/xdmp"
extension-element-prefixes="xdmp"
version="2.0">
<xsl:template match="/">
<xsl:variable name="ename" select="'zzz'"/>
<xsl:element name="yyy{$ename}">
<xsl:value-of select="$ename"/>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
,document{ <doc/> })
Run Code Online (Sandbox Code Playgroud)