我正在使用registerTempTable()
方法将DataFrame df注册为以我的数据集命名的表。
然后,我运行SQLContext
方法tableNames以返回表列表。
from pyspark.sql import SQLContext
import findspark
findspark.init()
import pyspark
sc = pyspark.SparkContext()
sqlCtx = SQLContext(sc)
df = sqlCtx.read.json("dataset.json")
df.registerTempTable('dataset')
tables = sqlCtx.tableNames()
print(tables)
我收到此错误:
AttributeError:“ DataFrame”对象没有属性“ registerTempTable”
能帮您解决吗?谢谢。
答案 0 :(得分:4)
从2.0.0 registerTempTable(tableName:String)
开始不推荐使用此功能。
您应该改用createOrReplaceTempView()
。
注意:在2.0中已弃用,请改用createOrReplaceTempView
检查Spark documentation。