【问题标题】:Saved table to Hive metastore with .saveAsTable(), how do I reload?使用 .saveAsTable() 将表保存到 Hive Metastore,如何重新加载?
【发布时间】:2018-03-19 15:32:49
【问题描述】:

我在我的 DataFrame 上使用了.saveAsTable,现在它存储在我的 HDFS 配置单元仓库元存储中。如何将其加载回 Spark SQL?我已经删除了我的集群 (Azure HDInsight) 并创建了一个新集群,确认我的 Hive 元存储位置相同并且目录仍然存在。

我需要再次将其作为持久表加载,而不是像我使用 PowerBI/Spark 连接器那样作为临时表加载。到目前为止,我发现的唯一方法是将目录加载回 DF,然后再次运行 .saveAsTable .. 再次写入文件并且需要很长时间才能处理。我希望有更好的方法!

【问题讨论】:

    标签: python apache-spark pyspark


    【解决方案1】:

    使用.saveAsTable后可以直接用sql查询。

    df.saveAsTable("tableName")
    myOtherDf = sqlContext.sql("select * from tableName")
    

    【讨论】:

    • 我知道 - 我以前做过。我已经删除/重新创建了我的集群,现在当我运行SHOW TABLES 或尝试查询它时,该表不再显示,但 Hive 目录仍在我的 HDFS 存储中并配置为 Spark 中的元存储位置。
    猜你喜欢
    • 2017-10-19
    • 2017-09-13
    • 2021-08-08
    • 1970-01-01
    • 2018-09-23
    • 1970-01-01
    • 1970-01-01
    • 2021-01-22
    • 1970-01-01
    相关资源
    最近更新 更多