我试图使用下面的代码将一个示例json文件读取到SqlContext中,但失败了,随后出现了datasource错误。
val sqlContext = new org.apache.spark.sql.SQLContext(sc)
val path = "C:\\samplepath\\sample.json"
val jsondata = sqlContext.read.json(path)
Java语言lang.ClassNotFoundException:未能找到数据源:json。请在以下位置查找包裹http://spark-packages.org位于组织。阿帕奇。火花sql。处决数据源。ResolvedDataSource美元。org上的lookUpdateSource(ResolvedDataSource.scala:77)。阿帕奇。火花sql。处决数据源。ResolvedDataSource美元。在组织中应用(ResolvedDataSource.scala:102)。阿帕奇。火花sql。DataFrameReader。在组织加载(DataFrameReader.scala:119)。阿帕奇。火花sql。DataFrameReader。在组织加载(DataFrameReader.scala:109)。阿帕奇。火花sql。DataFrameReader。org上的json(DataFrameReader.scala:244)。阿帕奇。火花部署SparkSubmit美元。doRunMain 1美元(SparkSubmit.scala:181),网址:org。阿帕奇。火花部署SparkSubmit美元。在org上提交(SparkSubmit.scala:206)。阿帕奇。火花部署SparkSubmit美元。main(SparkSubmit.scala:121)位于org。阿帕奇。火花部署SparkSubmit。main(SparkSubmit.scala)由:java引起。lang.ClassNotFoundException:json。scala的DefaultSource。工具。nsc。口译译员AbstractFileClassLoader。java上的findClass(AbstractFileClassLoader.scala:83)。lang.ClassLoader。java上的loadClass(ClassLoader.java:424)。lang.ClassLoader。位于org的loadClass(ClassLoader.java:357)。阿帕奇。火花sql。处决数据源。ResolvedDataSource$$anonfun$4$$anonfun$应用$1。在组织中应用(ResolvedDataSource.scala:62)。阿帕奇。火花sql。处决数据源。ResolvedDataSource$$anonfun$4$$anonfun$应用$1。在scala中应用(ResolvedDataSource.scala:62)。util。试试美元。在组织中应用(尝试scala:161)。阿帕奇。火花sql。处决数据源。ResolvedDataSource$$anonfun$4。在组织中应用(ResolvedDataSource.scala:62)。阿帕奇。火花sql。处决数据源。ResolvedDataSource$$anonfun$4。在scala中应用(ResolvedDataSource.scala:62)。util。尝试orElse(Try.scala:82)位于org。阿帕奇。火花sql。处决数据源。ResolvedDataSource美元。LookUpdateSource(ResolvedDataSource.scala:62)。。。50多个
我试图寻找可能丢失的spark软件包,但找不到任何有助于修复它的东西。
我使用Pyspark尝试了类似的代码,但失败了,出现了类似的json数据源ClassNotFoundException。
在进一步尝试将现有RDD转换为JsonRDD后,我成功地获得了结果。我有什么遗漏吗?我正在Scala-2.10.5上使用Spark-1.6.1。非常感谢您的帮助。谢谢
val stringRDD = sc.parallelize(Seq("""
{ "isActive": false,
"balance": "$1,431.73",
"picture": "http://placehold.it/32x32",
"age": 35,
"eyeColor": "blue"
}""",
"""{
"isActive": true,
"balance": "$2,515.60",
"picture": "http://placehold.it/32x32",
"age": 34,
"eyeColor": "blue"
}""",
"""{
"isActive": false,
"balance": "$3,765.29",
"picture": "http://placehold.it/32x32",
"age": 26,
"eyeColor": "blue"
}""")
)
sqlContext.jsonRDD(stringRDD).registerTempTable("testjson")
sqlContext.sql("SELECT age from testjson").collect
我使用源代码创建了jar,因此我认为问题在于缺少了一些资源。我从spark网站下载了最新的jar
问题内容: 我试图将JSON文件用作小型数据库。在DataFrame上创建模板表后,我使用SQL查询了该表并得到了异常。这是我的代码: 结果: 我的JSON文件: 展品: 我该如何解决? UPD 是 UPD2 这很奇怪,但是当我重写JSON以使其成为一体时,一切正常。 所以问题出在。 UPD3 我在文档中发现了下一个句子: 请注意,以json文件形式提供的文件不是典型的JSON文件。每行必须包含一
问题内容: 在shell中,我有一个要求,我必须读取以下格式的JSON响应: 在这里,我只关心“ Body”属性值。我做了一些不成功的尝试,例如: 要么 但这还不够。谁能帮我这个? 问题答案: 在命令行上有用于解析json的代码: 访问此以获得jq:https://stedolan.github.io/jq/
我这里有一个很长的json:https://textup.fr/601885q4我想读一个“支付令牌合同”中的数据,特别是那些带有“id”的数据:1我的问题是,我不知道如何称呼特定的词汇,因为它们都有相同的名称。这是否可能,我还不习惯操作如此复杂的对象,因为我是初学者。我会尝试像:[“订单][x][“id”:1][“基本价格”]这样的东西,x是一个for循环,循环遍历每个“订单”显示。但是我无法将
我需要将该模式格式提取到如下所示的治疗区域行项目:
问题内容: 我有一个文件,看起来像这样: 我可以使用Python读取和操作此记录。 我试图读取该文件中通过。 从这个教程中,我可以看到,它可以读取通过 但是,这会导致错误: 任何人都可以阐明这个错误吗?我可以与其他应用程序一起阅读和使用该文件,并且我相信它不会损坏且不会发出声音。 问题答案: Spark无法将JSON数组读取到顶级记录,因此您必须通过: 如本教程中所述,您指的是: 首先加载一个JS
问题内容: 我正在尝试读取JSON数组。这是我的代码。 我的示例JSON文件语法如下所示, 前面有一个大括号。当我尝试执行此代码块时,出现错误提示 JSONArray文本必须在....的字符1处以’[‘开头。 有没有人遇到过这样的问题?任何帮助将不胜感激。如果可以的话,请告诉我一个示例代码块。提前致谢。 问题答案: JSON对象以a开头,以a 结尾,而JSON数组以a开头,以a 结尾。 根据您的情