我要使用Spark结构化流将新批处理写入HDFS(driver.find_element_by_xpath("//*[contains(text(), 'Artik')]").click()
)之后,将Hive表(target_table
)作为DataFrame加载,如下所示:
target_table_dir
当我们立即从Hive表读回相同的数据时,我们会收到“找不到分区异常”。如果我们延迟阅读,则数据正确。
似乎在执行停止和Hive Metastore更新时,Spark仍在将数据写入HDFS。
如何知道何时将数据写入Hive表(到HDFS)?
注意: 我们发现,如果在写出之后使用processAllAvailable(),则后续读取可以正常工作。但是如果我们处理连续流,则processAllAvailable()将永远阻止执行