hive 带CSV的EXTERNAL TABLE未自动刷新

6jygbczu  于 2023-10-18  发布在  Hive
关注(0)|答案(1)|浏览(166)

我用CSV创建了一个外部表,如下所示。

CREATE EXTERNAL TABLE OpenCSVSerde_CSV (
  id STRING COMMENT 'from deserializer',
  name STRING COMMENT 'from deserializer'
  )
USING CSV
LOCATION 'abfss://[email protected]/csvtabletest';

当我添加一个新文件到路径abfss://email protected(https://stackoverflow.com/cdn-cgi/l/email-protection)/csvtabletest时,表没有刷新,我必须手动执行REFRESH TABLE OpenCSVSerde_CSV。我尝试在集群级别设置spark配置,但也没有帮助。

spark.databricks.io.cache.enabled false

有没有办法让数据自动刷新?

8cdiaqws

8cdiaqws1#

默认情况下,这不会自动刷新表。因此,您需要在位置中添加新文件后运行REFRESH TABLE OpenCSVSerde_CSV
但是,要使此查询自动运行,请遵循以下方法。
1.设置笔记本电脑的File Arrival触发器。每当添加文件时,它都会触发notebook运行上述查询。您可以参考this文档。
1.您也可以添加计划来运行笔记本电脑的时间间隔的基础上如何频繁添加您的文件。
您可以按照下面的步骤为第二个选项使用时间表。

后藤工作流>作业>创建作业

接下来添加所需的详细信息。

1.任务名称:给予任务名称
1.类型Notebook
1.来源Workspace
1.Path给予有刷新表查询的笔记本的路径
1.集群:选择要运行的群集
点击创建。创建后,您将获得如下界面。

点击【添加计划】,选择【触发类型】为Scheduled,每5分钟设置一次【计划】。你可以根据你的文件被添加的频率来改变,我给了每5分钟一次。然后点击保存。

下面是存储帐户中的文件和选择查询中的记录。

现在添加新的csv文件newuser.csv。它将每5分钟刷新一次表,并在这5分钟间隔内添加数据。
输出量:

相关问题