当我试图将数据集作为拼花地板保存到s3存储时,出现了异常“java.util.NoSuchElementException:None.get”:
例外情况:
java.lang.IllegalStateException: Failed to execute CommandLineRunner
at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:787)
at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:768)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:322)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1215)
...
Caused by: java.util.NoSuchElementException: None.get
at scala.None$.get(Option.scala:347)
at scala.None$.get(Option.scala:345)
at org.apache.spark.sql.execution.datasources.BasicWriteJobStatsTracker$.metrics(BasicWriteStatsTracker.scala:173)
at org.apache.spark.sql.execution.command.DataWritingCommand$class.metrics(DataWritingCommand.scala:51)
at org.apache.spark.sql.execution.datasources.InsertIntoHadoopFsRelationCommand.metrics$lzycompute(InsertIntoHadoopFsRelationCommand.scala:47)
at org.apache.spark.sql.execution.datasources.InsertIntoHadoopFsRelationCommand.metrics(InsertIntoHadoopFsRelationCommand.scala:47)
at org.apache.spark.sql.execution.command.DataWritingCommandExec.metrics$lzycompute(commands.scala:100)
at org.apache.spark.sql.execution.command.DataWritingCommandExec.metrics(commands.scala:100)
at org.apache.spark.sql.execution.SparkPlanInfo$.fromSparkPlan(SparkPlanInfo.scala:56)
at org.apache.spark.sql.execution.SQLExecution$$anonfun$withNewExecutionId$1.apply(SQLExecution.scala:76)
at org.apache.spark.sql.execution.SQLExecution$.withSQLConfPropagated(SQLExecution.scala:125)
at org.apache.spark.sql.execution.SQLExecution$.withNewExecutionId(SQLExecution.scala:73)
at org.apache.spark.sql.DataFrameWriter.runCommand(DataFrameWriter.scala:676)
at org.apache.spark.sql.DataFrameWriter.saveToV1Source(DataFrameWriter.scala:285)
at org.apache.spark.sql.DataFrameWriter.save(DataFrameWriter.scala:271)
at org.apache.spark.sql.DataFrameWriter.save(DataFrameWriter.scala:229)
at org.apache.spark.sql.DataFrameWriter.parquet(DataFrameWriter.scala:566)
看起来这是与SparkContext相关的问题。我没有创建SparkContext explicit的实例,相反,我只在源代码中使用SparkSession。
final SparkSession sparkSession = SparkSession
.builder()
.appName("Java Spark SQL job")
.getOrCreate();
ds.write().mode("overwrite").parquet(path);
有什么建议或解决办法吗?谢谢
更新1:
ds的创建有点复杂,但我将尝试列出以下主要调用堆栈:
过程1:
流程2:
在第6步之后,我循环回到第1步,为下一个进程使用相同的火花会话。最后,在所有处理完成后调用spackSession.stop()。
我可以在进程1完成后找到日志,这似乎表明SparkContext在进程2之前已被销毁:
INFO SparkContext: Successfully stopped SparkContext
只需删除sparkSession即可。stop()解决了此问题。
我正在将数据转换为数据帧,将其写入HDFS: 密码 已创建文件夹,但未写入文件。 程序因以下错误而终止: 在我的pom中,我使用了各自的依赖项: 火花-core_2.11 火花-sql_2.11 火花-streaming_2.11 火花流-kafka-0-10_2.11
在spark数据集中获取此空错误。滤器 输入CSV: 工作代码: 失败代码(添加以下行返回错误): 返回空错误
我正在本地机器中将spark数据集保存为拼花文件。我想知道是否有任何方法可以使用某种加密算法对数据进行加密。我用来将数据保存为拼花文件的代码如下所示。 <代码>数据集。写入()。模式(“覆盖”)。拼花地板 我看到了一个类似的问题,但我的查询不同,因为我正在写入本地磁盘。
我想在Spark Jobserver上运行Spark Job。在执行过程中,我遇到了一个例外: 堆栈: JAVARuntimeException:scala。ScalarReflectionException:类com。一些实例仪器数据JavaMirror和org中的SQLMapping。阿帕奇。火花util。MutableURLClassLoader@55b699ef属于组织类。阿帕奇。火花ut
我正在尝试使用JDBC处理Presto上的查询,并将结果集传递回Spark,以便在其上创建临时表。我的结果集在列表中 我从kafka producer获得了json Msg形式的查询。因此,我们在spark中创建了kafka consumer,以获取信息并进行进一步处理。 以下是我的主要功能: 以下是将结果集返回给主函数的process_query方法: 但我仍然得到了这个错误输出 请帮帮忙
我有一个Spring Boot应用程序,通过从kafka收集数据,我正在做很多插入。我希望使用 saveAll 批处理插入来提高性能。但是很少有数据会被认为是重复的,每当在我的代码中捕获DataIntegrityViolationException时,我都会更新它们。使用批处理插入,有没有办法为每个重复的数据捕获此异常,并使用 do 更新代码进行处理?