Python 如何修复此错误:“quot;SQLContext对象没有属性';jsonFile';
我正在学习火花。当我尝试加载json文件时,如下所示:Python 如何修复此错误:“quot;SQLContext对象没有属性';jsonFile';,python,json,apache-spark,pyspark,Python,Json,Apache Spark,Pyspark,我正在学习火花。当我尝试加载json文件时,如下所示: people=sqlContext.jsonFile("C:\wdchentxt\CustomerData.json") 我得到了以下错误: AttributeError: 'SQLContext' object has no attribute 'jsonFile' 我在Windows7 PC上运行这个程序,带有spark-2.1.0-bin-hadoop2.7和Python 2.7.13(2016年12月17日) 感谢您提供的任何建
people=sqlContext.jsonFile("C:\wdchentxt\CustomerData.json")
我得到了以下错误:
AttributeError: 'SQLContext' object has no attribute 'jsonFile'
我在Windows7 PC上运行这个程序,带有spark-2.1.0-bin-hadoop2.7和Python 2.7.13(2016年12月17日)
感谢您提供的任何建议。您可能忘记导入隐式。这就是我的解决方案在Scala中的样子:
def loadJson(filename: String, sqlContext: SqlContext): Dataset[Row] = {
import sqlContext._
import sqlContext.implicits._
val df = sqlContext.read.json(filename)
df
}
如前所述,
.jsonFile(…)
已被弃用1,请改用此选项:
people = sqlContext.read.json("C:\wdchentxt\CustomerData.json").rdd
来源:
[1]: 其次,您需要确保您的SqlContext设置正确,如下所述:。在我的情况下,它的设置如下:
from pyspark.sql import SQLContext, Row
sqlContext = SQLContext(sc)
myObjects = sqlContext.read.json('file:///home/cloudera/Downloads/json_files/firehose-1-2018-08-24-17-27-47-7066324b')
请注意,他们提供了特定于版本的快速入门教程,可以帮助您正确完成一些基本操作,如下所述:
因此,我的观点是要始终检查以确保无论您使用什么库或语言(这通常适用于所有技术),您都遵循与您正在运行的版本匹配的文档,因为如果存在版本不匹配,破坏更改会造成大量混乱是很常见的。如果您尝试使用的技术在您正在运行的版本中没有很好的文档记录,则此时您需要评估是否应该升级到更新的版本,或者与维护项目的人员创建支持通知单,以便帮助他们更好地支持其用户
您可以在此处找到有关Spark所有版本特定更改的指南:
您还可以在此处找到有关Spark和PySpark的版本特定文档(例如,对于版本1.6.1):我在macOS上有Spark 2.0.0。但是,您能否检查
sqlContext.read.json()
是否适合您?对我来说,如果我想定制spark的配置,我也可以做sc=SparkContext(conf=conf)
然后sqlContext=sqlContext(sc)
.jsonFile已经被弃用;您应该改用.read.json()
。谢谢大家的快速帮助。当我用“read.json”替换“.jsonFile”时,它就起作用了。这是个简单的解决办法。