在 pyspark sparksession 中检查 hive 中是否存在一个表,报错NameError: name 'sqlContext' is not defined

lx0bsm1f  于 2021-04-08  发布在  Hive
关注(0)|答案(1)|浏览(1064)

我有下面的代码。我想实现的是检查hive的数据库中是否已经存在一个表,如果是,则将新的数据追加进去。

if "table1" in sqlContext.tableNames("db1"):
    df.write.format("orc").mode("append").insertInto("db1.table1")
 else:
    df.write.format("orc").saveAsTable("db1.table1")

但我得到这个错误。

NameError: name 'sqlContext' is not defined

我在pyspark中使用spark会话和jupyter笔记本。

spark = SparkSession.builder.config(conf=conf).enableHiveSupport().getOrCreate()

我如何解决这个错误?

inn6fuwd

inn6fuwd1#

这取决于你的apache spark版本。如果你的spark版本是1.x,那么你需要做如下操作。

from pyspark.sql import SQLContext
sqlContext = SQLContext(sc)

相关问题