Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spark作业在输入字符串ea的java 9 NumberFormatException上失败_Java_Scala_Apache Spark_Java 9 - Fatal编程技术网

Spark作业在输入字符串ea的java 9 NumberFormatException上失败

Spark作业在输入字符串ea的java 9 NumberFormatException上失败,java,scala,apache-spark,java-9,Java,Scala,Apache Spark,Java 9,我有一个示例spark作业,我能够成功地在java 8上运行它,但当我在java 9上运行相同的程序时,它会失败,出现NumberFormatException SparkConf conf = new SparkConf(); conf.setMaster("local[*]").setAppName("java 9 example"); SparkSession session = SparkSession.builder().config(conf).getOrCreate(); Data

我有一个示例spark作业,我能够成功地在java 8上运行它,但当我在java 9上运行相同的程序时,它会失败,出现
NumberFormatException

SparkConf conf = new SparkConf();
conf.setMaster("local[*]").setAppName("java 9 example");
SparkSession session = SparkSession.builder().config(conf).getOrCreate();
Dataset<Row> ds = session.read().text("<xyz path>");
System.out.println(ds.count());
SparkConf conf=new SparkConf();
setAppName(“java 9示例”);
SparkSession session=SparkSession.builder().config(conf.getOrCreate();
数据集ds=session.read().text(“”);
System.out.println(ds.count());
异常详细信息:

<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-core_2.10</artifactId>
    <version>2.1.0</version>
</dependency>

<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-sql_2.10</artifactId>
    <version>2.1.0</version>
</dependency>
线程“main”java.lang.NumberFormatException中的异常:用于输入 字符串:“ea”位于 java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) 位于java.base/java.lang.Integer.parseInt(Integer.java:695) java.base/java.lang.Integer.parseInt(Integer.java:813)位于 scala.collection.immutable.StringLike$class.toInt(StringLike.scala:229) 位于scala.collection.immutable.StringOps.toInt(StringOps.scala:31) org.apache.spark.SparkContext.warndDeprecatedVersions(SparkContext.scala:353) 位于org.apache.spark.SparkContext.(SparkContext.scala:186) org.apache.spark.SparkContext$.getOrCreate(SparkContext.scala:2313) 在 org.apache.spark.sql.SparkSession$Builder$$anonfun$6.apply(SparkSession.scala:868) 在 org.apache.spark.sql.SparkSession$Builder$$anonfun$6.apply(SparkSession.scala:860) 位于scala.Option.getOrElse(Option.scala:120) org.apache.spark.sql.SparkSession$Builder.getOrCreate(SparkSession.scala:860) 位于com.ts.spark.session.TestApp.main(TestApp.java:18)

Maven spark相关性:

<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-core_2.10</artifactId>
    <version>2.1.0</version>
</dependency>

<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-sql_2.10</artifactId>
    <version>2.1.0</version>
</dependency>

org.apache.spark
spark-core_2.10
2.1.0
org.apache.spark
spark-sql_2.10
2.1.0
Java详细信息:

<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-core_2.10</artifactId>
    <version>2.1.0</version>
</dependency>

<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-sql_2.10</artifactId>
    <version>2.1.0</version>
</dependency>
java版本“9-ea”
Java(TM)SE运行时环境(构建9-ea+156)
Java HotSpot(TM)64位服务器虚拟机(构建9-ea+156,混合模式)


在Java9上设置spark是否还需要执行其他步骤?谢谢

Spark似乎不支持版本号中的非
Int
值(至少对于受支持的JVM),这在非早期访问版本中不会发生,下面是
ea
字符串。
一旦Java9正确发布,它可能会正确运行。

似乎调用scala StringLike来将“ea”(9-ea的一部分)解析为整数。使用的JDK 9版本是旧的,新的版本随着JDK 9发行候选版本的临近而删除“-ea”。因此,获取最新的JDK9下载(JDK-9+181),并向Spark提交一个bug,以检查解析版本字符串的代码。版本字符串方案的一个很好的参考是JEP 223()。

您正在测试spark的哪个版本?即使您解决了这个问题,spark中的任何东西都不可能在Java 9中工作……对于给定的示例,您的项目模块信息是什么?正在查询可能与此相关或不相关的问题。我没有任何模块信息,我只从jdk8切换到9,并尝试运行此代码示例。谢谢@Gabor。是否有任何解决此问题的方法?我不知道有任何方法:(我会尝试解决这个问题,看看它是否适用于Java9。