[英]COPY INTO <table> in snowflake throws table does not exist
我正在嘗試將數據從本地復制到雪花,我得到了
snowflake.connector.errors.ProgrammingError: 001757 (42601): SQL 編譯錯誤:表 'RAW_DATA' 不存在
相同的代碼在 Jupiter notebook 中有效,但在 vs code 中無效。 我的角色是 accountadmin,所以權限沒有問題。
我要運行的代碼是這個
COPY INTO RAW_DATA file_format=(FIELD_OPTIONALLY_ENCLOSED_BY ='"' skip_header=1)
我懷疑您使用的數據庫/模式與 Jupiter 筆記本不同
select current_warehouse(), current_database(), current_schema();
對我來說:
嘗試用您的表名替換“TABLE”。
例子:
COPY INTO mytable FROM 's3://mybucket/./../a.csv';
存在語法錯誤。 您不能命名使用TABLE
作為表名。 TABLE
是保留關鍵字https://docs.snowflake.com/en/sql-reference/reserved-keywords.html
來自文檔: https://docs.snowflake.com/en/sql-reference/sql/copy-into-table.html
COPY INTO [<namespace>.]<table_name>
FROM { internalStage | externalStage | externalLocation }
[ FILES = ( '<file_name>' [ , '<file_name>' ] [ , ... ] ) ]
[ PATTERN = '<regex_pattern>' ]
[ FILE_FORMAT = ( { FORMAT_NAME = '[<namespace>.]<file_format_name>' |
TYPE = { CSV | JSON | AVRO | ORC | PARQUET | XML } [ formatTypeOptions ] } ) ]
[ copyOptions ]
[ VALIDATION_MODE = RETURN_<n>_ROWS | RETURN_ERRORS | RETURN_ALL_ERRORS ]
所以而不是
COPY INTO TABLE FILE_FORMAT = (FIELD_OPTIONALLY_ENCLOSED_BY ='"' skip_header=1)
嘗試
COPY INTO MYTABLE FILE_FORMAT = (FIELD_OPTIONALLY_ENCLOSED_BY ='"' skip_header=1)
當然,您需要先創建MYTABLE
。
它沒有與
COPY INTO RAW_DATA file_format=(FIELD_OPTIONALLY_ENCLOSED_BY ='"' skip_header=1)
但后來我嘗試了
table_name = "RAW_DATA"
f"COPY INTO {table_name} file_format=(FIELD_OPTIONALLY_ENCLOSED_BY ='"' skip_header=1)"
它開始工作了。 不知道為什么,但這似乎現在有效
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.