Spark SQL:使用registerTempTable()将DataFrame注册为表

时间:2019-11-12 02:11:51

标签: python sql apache-spark pyspark

我正在使用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”

能帮您解决吗?谢谢。

1 个答案:

答案 0 :(得分:4)

从2.0.0 registerTempTable(tableName:String)开始不推荐使用此功能。

您应该改用createOrReplaceTempView()

  

注意:在2.0中已弃用,请改用createOrReplaceTempView

检查Spark documentation