我正在使用Spark将流数据写入实木复合地板文件中。并且我创建了一个配置单元外部表,该表指向镶木地板文件的位置,这是BI工具中所需要的。但是,当更新实木复合地板文件时,在此外部表上查询并不会为我提供最新数据。
刷新表后,它将获取最新记录-REFRESH TABLE <table_name>
。 ANALYZE TABLE <table_name> COMPUTE STATISTICS
也会使用最新数据进行更新。但是在查询表之前保持刷新表并不总是正确的。
实现此目标的正确方法是什么?如果Hive表只是一个指向镶木地板文件的指针,那么它不应该总是获取最新记录吗? 还需要知道刷新表是否昂贵的操作?
我尝试禁用元数据缓存spark.sql.parquet.cacheMetadata = false
。但这似乎没有任何作用。