gpt4 book ai didi

apache-spark-sql - Spark HiveContext 不会从 Hive 表中检索新插入的记录

转载 作者:行者123 更新时间:2023-12-04 12:53:17 24 4
gpt4 key购买 nike

我正在使用 Spark 1.4。 HiveContext 用于连接 Hive。我做了以下

val hx = new HiveContext(sc)
import hx.implicits._
hx.sql("select * from tab").show

//很好,结果按预期显示

然后,我从 将几条记录插入到选项卡中直线控制台
hx.refreshTable("tab")
hx.sql("select * from tab").show

//仍然是旧记录,没有新插入的记录

我的问题是:为什么 HiveContext 没有检索到新插入的记录?

最佳答案

hive 上下文。 刷新表 (tableName: String) - 这个 将仅刷新元数据 表的(不是实际数据)

官方文档注释:(来源:https://spark.apache.org)

refreshTable(tableName: String):单位

使给定表的所有缓存元数据无效并刷新。出于性能原因,Spark SQL 或其使用的外部数据源库可能会缓存有关表的某些元数据,例如块的位置。当那些在 Spark SQL 之外发生变化时,用户应该调用这个函数来使缓存失效

检索新插入的记录: - 先取消缓存,然后使用 , 再次缓存uncacheTable(String tableName) 缓存表(字符串表名)

关于apache-spark-sql - Spark HiveContext 不会从 Hive 表中检索新插入的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31542826/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com