[英]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.