【问题标题】:Check if a table exists in Hive in pyspark sparksession在 pyspark sparksession 中检查 Hive 中是否存在表
【发布时间】:2020-08-25 16:02:10
【问题描述】:

我有以下代码。我想要实现的是检查 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 中通过 Jupyter Notebook 使用 spark 会话:

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

我该如何解决这个错误?

【问题讨论】:

    标签: python pyspark hive


    【解决方案1】:

    这取决于您的 Apache Spark 版本。如果您的 Spark 版本是 1.x,那么您需要执行以下操作:

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

    【讨论】:

    • 我的spark版本是2.3.0.2
    • 我收到 NameError: name 'sc' is not defined using the code
    • 从 pyspark 导入 SparkContext sc =SparkContext.getOrCreate()
    猜你喜欢
    • 1970-01-01
    • 2021-01-31
    • 2016-07-03
    • 1970-01-01
    • 2020-09-24
    • 2021-11-28
    • 2021-05-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多