簡體   English   中英

外部表不刷新數據雪花

[英]External table not refreshing data Snowflake

假設我在 Hive 中有一個外部表,並且外部表的 S3 位置中的 csv 文件如下所示。

+----+------+
| ID | Name |
+----+------+
|  1 | A    |
|  2 | B    |
+----+------+

如果我像下面這樣更改文件中的數據,當我在 Hive 中查詢外部表時,我可以看到更改后的值。

+----+------+
| ID | Name |
+----+------+
|  1 | A    |
|  2 | C    |
+----+------+

當我在 Snowflake 中進行測試時,我無法看到新數據,但我仍然可以看到舊數據,盡管我在 Snowflake 中創建外部表時添加了auto_refresh = true

create or replace external table schema.table_name 
(
    ID INT as  (value:c1::int), 
    Name varchar(20) as ( value:c2::varchar)
)
with location = @ext_stage_test
file_format = pipeformat
auto_refresh = true

這是雪花的行為還是我錯過了什么?

非常感謝任何幫助。

我會將此作為答案,但聽起來您沒有在 AWS S3 上設置 SNS 通知。 AUTO_REFRESH允許 Snowflake 在向隊列發送文件已放入 S3 存儲桶或已刪除的通知時刷新外部表。 這是唯一真正可用的自動刷新屬性。 否則,需要運行外部表的手動刷新來刷新外部表:

alter external table exttable_part refresh;

如果您無法設置文檔中提到的 SNS 配置 ( https://docs.snowflake.com/en/sql-reference/sql/create-external-table.html#simple-external-table-auto-refresh- using-amazon-sns ),那么我建議將上面的命令添加到以對您有意義的頻率執行的task中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM