雪花上的COPY INTO查询返回TABLE不存在错误

时间:2020-08-12 22:16:13

标签: snowflake-cloud-data-platform

我正在尝试从azure blob存储中加载数据。

数据已经暂存。

但是,问题在于我何时尝试运行

List<int> ids = JsonConvert.DeserializeObject<List<int>>(message.Message);

以下是我遇到的错误:

copy into random_table_name
from @stage_name_i_created
file_format = (type='csv')
pattern ='*.csv' 

基本上,它说表不存在,表不存在,但是网站上的语法与我的相同。

在Snowflake上进行复制查询返回TABLE不存在错误

6 个答案:

答案 0 :(得分:0)

在运行COPY INTO命令之前,该表必须存在。在您的帖子中,您说该表不存在...所以这是您的问题。

答案 1 :(得分:0)

如果您的表存在,请尝试像这样强制使用表路径:

copy into <database>.<schema>.<random_table_name>
from @stage_name_i_created
file_format = (type='csv')
pattern ='*.csv' 

或按如下步骤操作:

use database <database_name>;
use schema <schema_name>;
copy into database.schema.random_table_name
   from @stage_name_i_created
   file_format = (type='csv')
   pattern ='*.csv';

答案 2 :(得分:0)

rbachkaniwala,“我如何创建表?(根据雪花语法,不可能创建空表)”是什么意思。

您可以在下面做一个表

CREATE TABLE random_table_name (FIELD1 VARCHAR, FIELD2 VARCHAR)

答案 3 :(得分:0)

该表确实需要存在。您应该查看COPY INTO的文档。 其他要考虑的领域是

  • 您是否为数据库和架构设置了正确的上下文
  • 用户/角色是否有权访问表或对象。

基本上,您似乎尚未定义表。你应该

  • 确保表已创建
  • 确保CSV中的所有列都作为表中的列存在
  • 确保列的顺序与CSV中的顺序相同
  • 我也会检查数据类型。

答案 4 :(得分:0)

"COPY INTO"不是查询命令,它是从源到目标的实际数据传输执行,两者都必须与其他在此处注释的一样存在,但是如果您只想查询而不加载文件,请运行以下SQL :

//Display list of files in the stage to verify stage

LIST @stage_name_i_created; 

//Create a file format 

CREATE OR REPLACE FILE FORMAT RANDOM_FILE_CSV 
type = csv
COMPRESSION = 'GZIP' FIELD_DELIMITER = ',' RECORD_DELIMITER = '\n' SKIP_HEADER = 0 FIELD_OPTIONALLY_ENCLOSED_BY = '\042' 
TRIM_SPACE = FALSE ERROR_ON_COLUMN_COUNT_MISMATCH = FALSE ESCAPE = 'NONE' ESCAPE_UNENCLOSED_FIELD = 'NONE' DATE_FORMAT = 'AUTO' TIMESTAMP_FORMAT = 'AUTO' 
NULL_IF = ('\\N'); 


//Now select the data in the files
 
Select $1 as first_col,$2 as second_col  //can add as necessary number of columns ...etc
from @stage_name_i_created

(FILE_FORMAT => RANDOM_FILE_CSV)

更多信息可在此处的文档链接中找到 https://docs.snowflake.com/en/user-guide/querying-stage.html

答案 5 :(得分:0)

就我而言,表名称区分大小写。雪花似乎将所有内容都转换为大写。我将数据库/模式/表名全部更改为大写,然后开始工作。

相关问题