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

Pas*_*sha 1 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)
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

AttributeError: 'DataFrame' 对象没有属性 'registerTempTable'

你能帮忙解决吗。谢谢你。

小智 6

此功能自 2.0.0 起已弃用registerTempTable(tableName:String)

你应该createOrReplaceTempView()改用。

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

检查 Spark文档