java spark 读取json_apache-spark - 与aws-java-sdk链接时,在读取json文件时发生Spark崩溃 - 堆栈内存溢出...
让config.json成为一个小的json文件:
{
"toto": 1
}
我做了一个简单的代码,用sc.textFile读取json文件(因为文件可以在S3,本地或HDFS上,所以textFile很方便)
import org.apache.spark.{SparkContext, SparkConf}
object testAwsSdk {
def main( args:Array[String] ):Unit = {
val sparkConf = new SparkConf().setAppName("test-aws-sdk").setMaster("local[*]")
val sc = new SparkContext(sparkConf)
val json = sc.textFile("config.json")
println(json.collect().mkString("\n"))
}
}
SBT文件只提取spark-core库
libraryDependencies ++= Seq(
"org.apache.spark" %% "spark-core" % "1.5.1" % "compile"
)
程序按预期工作,在标准输出上写入config.json的内容。
现在我想链接aws-java-sdk,亚马逊的sdk来访问S3。
libraryDependencies ++= Seq(
"com.amazonaws" % "aws-java-sdk" % "1.10.30" % "compile",
"org.apache.spark" %% "spark-core" % "1.5.1" % "compile"
)
执行相同的代码,spark抛出以下异常。
Exception in thread "main" com.fasterxml.jackson.databind.JsonMappingException: Could not find creator property with name 'id' (in class org.apache.spark.rdd.RDDOperationScope)
at [Source: {"id":"0","name":"textFile"}; line: 1, column: 1]
at com.fasterxml.jackson.databind.JsonMappingException.from(JsonMappingException.java:148)
at com.fasterxml.jackson.databind.DeserializationContext.mappingException(DeserializationContext.java:843)
at com.fasterxml.jackson.databind.deser.BeanDeserializerFactory.addBeanProps(BeanDeserializerFactory.java:533)
at com.fasterxml.jackson.databind.deser.BeanDeserializerFactory.buildBeanDeserializer(BeanDeserializerFactory.java:220)
at com.fasterxml.jackson.databind.deser.BeanDeserializerFactory.createBeanDeserializer(BeanDeserializerFactory.java:143)
at com.fasterxml.jackson.databind.deser.DeserializerCache._createDeserializer2(DeserializerCache.java:409)
at com.fasterxml.jackson.databind.deser.DeserializerCache._createDeserializer(DeserializerCache.java:358)
at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCache2(DeserializerCache.java:265)
at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCacheValueDeserializer(DeserializerCache.java:245)
at com.fasterxml.jackson.databind.deser.DeserializerCache.findValueDeserializer(DeserializerCache.java:143)
at com.fasterxml.jackson.databind.DeserializationContext.findRootValueDeserializer(DeserializationContext.java:439)
at com.fasterxml.jackson.databind.ObjectMapper._findRootDeserializer(ObjectMapper.java:3666)
at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:3558)
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2578)
at org.apache.spark.rdd.RDDOperationScope$.fromJson(RDDOperationScope.scala:82)
at org.apache.spark.rdd.RDDOperationScope$$anonfun$5.apply(RDDOperationScope.scala:133)
at org.apache.spark.rdd.RDDOperationScope$$anonfun$5.apply(RDDOperationScope.scala:133)
at scala.Option.map(Option.scala:145)
at org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:133)
at org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:108)
at org.apache.spark.SparkContext.withScope(SparkContext.scala:709)
at org.apache.spark.SparkContext.hadoopFile(SparkContext.scala:1012)
at org.apache.spark.SparkContext$$anonfun$textFile$1.apply(SparkContext.scala:827)
at org.apache.spark.SparkContext$$anonfun$textFile$1.apply(SparkContext.scala:825)
at org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:147)
at org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:108)
at org.apache.spark.SparkContext.withScope(SparkContext.scala:709)
at org.apache.spark.SparkContext.textFile(SparkContext.scala:825)
at testAwsSdk$.main(testAwsSdk.scala:11)
at testAwsSdk.main(testAwsSdk.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140)
读取堆栈时,似乎当链接aws-java-sdk时, sc.textFile检测到该文件是json文件并尝试使用jackson解析它,假设某种格式,当然无法找到。 我需要链接aws-java-sdk,所以我的问题是:
1-为什么添加aws-java-sdk会修改spark-core的行为?
2-是否有解决方法(文件可以在HDFS,S3或本地)?
java spark 读取json_apache-spark - 与aws-java-sdk链接时,在读取json文件时发生Spark崩溃 - 堆栈内存溢出...相关推荐
- java replace第二个_java - 错误的第二个参数类型:从片段内调用.replace() - 堆栈内存溢出...
我知道这个问题经常被问到,但是没有一个被接受的解决方案对我有用. 尝试从其他片段之一启动"首选项菜单"片段时,出现经典的"错误的第二个参数类型"错误. 不幸的是 ...
- python3.5读取json文件时,顺序被打乱,解决方案
由于python3.5的dict是无序的,所以读取json文件时如果不进行排序,会造成混乱 train_json = json.load(open('./data)) # 读取json文件 train ...
- aws java mysql_java - AWS EC2 / MySql - spring boot无法从datasource确定jdbc url - 堆栈内存溢出...
我有一个简单的Spring Boot应用程序,我试图在基于Amazon AMI的Amazon EC2实例上部署. 它使用MySql数据库(版本8.0.15). 我在AWS上创建了数据库,当我从本地系统 ...
- java jini dll_java - Jini / JavaSpaces发现错误 - 堆栈内存溢出
我在Eclipse中编写了这些类,并启动了Launch-All脚本和Run示例. 有用. 之后,我将这些类导出到可执行的jar(JavaSpaceClient.jar)中,并使用以下命令尝试了该jar ...
- java ftp 关闭连接_java - 使用Java Apache FTPClient进行FTP TLS获取“握手时远程主机关闭连接”[重复] - 堆栈内存溢出...
我在Windows 10 64x上为FTP TLS(org.apache.commons.net.ftp)运行了一个Java(1.8)程序: FTPSClient ftpClient = new FT ...
- java ftp上传超时_java - Java FTP连接超时 - 堆栈内存溢出
我正在做一个项目,修改后,稍后会将一些文件上传到FTP服务器...除了弄清楚文件的上传之外,我什么都没有. 我可以成功连接到FTP服务器,但是一旦文件上传,该程序将挂起几分钟,然后显示超时. java ...
- java 更新jlabel_java - 用Java更新绑定的JLabel文本 - 堆栈内存溢出
当我运行您发布的代码时,我收到了NullPointerException . 这是堆栈跟踪的一部分. (请注意,我的环境是[64位] Windows 10上的JDK 13.0.1.) Exceptio ...
- java内存溢出让tomcat停止_java - 使用JVM Open J9一段时间后,应用程序(tomcat)停止响应 - 堆栈内存溢出...
我正在使用Open J9,一段时间后我的应用程序停止响应..在生产中发生了2个小时后,在本地设法使用JMeter进行模拟. 应用程序(tomcat)只是停止响应,我需要重新启动才能将其取回. 问题是日 ...
- java程序包r不存在_java - 从命令行使用Gradle构建时,“程序包R不存在”错误 - 堆栈内存溢出...
我正在尝试从命令行使用Gradle构建一个Android项目,但是当我想要更改目录结构时发现了一个问题. 目前是这样的: . └── main ├── AndroidManifest.xml ├── ...
最新文章
- [NC15748]旅游 树形dp基础
- OpenCV Shi-Tomasi角点检测
- java上传文件图片
- python处理rgb_如何在Python中读取给定像素的RGB值?
- 使用PaddleFluid和TensorFlow实现图像分类网络SE_ResNeXt | 文末超大福利
- webservice / cxf 开发经验总结
- android 请求参数打印,Android开发-----关于解决Retrofit打印HttpLog和设置连接超时的问题...
- ValueError: No engine for filetype: 'csv'解决与书本7-2代码改写
- 《Python Cookbook 3rd》笔记(1.6):字典中的键映射多个值
- 深入浅出强化学习_皋兰县举办科级干部学习贯彻党的十九届五中全会精神培训班...
- 【转】Serverless架构
- Cookie、Session、Token、JWT分别是什么(二)
- python写抽奖转盘_[宜配屋]听图阁
- python-50: 验证码
- 关联查询objectid_SAP 删除的BOM如何查询呢?
- 第三章CDMA的原理与应用(2)
- matlab显示图像频谱
- 35岁没成高管被优化了.... 网友炸了!!!
- 【修身养性】那些看不见的教养
- python自动注册邮箱_python自动化办公——邮箱
热门文章
- Matlab sumsqr函数
- 根据浏览器navigator区分PC端还是移动端,区分操作系统,区分浏览器型号
- 少儿编程150讲轻松学Scratch(二)-制作过马路小游戏
- docker rabbitmq php扩展,Docker开启RabbitMQ延时消息队列
- mongodb java id 查询数据_java 用 _id 查找 MongoDB 下的数据
- mysql concat 引号_在MySQL concat里面使用多个单引号,三引号的问题
- Extjs弹窗-简单文本编辑框-Ext.Msg.show
- java undo_用JAVA实现Undo、Redo,Copy、Paste、Cut_java
- CSS3中的透明属性opacity的用法实例
- CSS的计数器:counter-increment与counter-reset