我正在尝试从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不存在错误
答案 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的文档。 其他要考虑的领域是
基本上,您似乎尚未定义表。你应该
答案 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)
就我而言,表名称区分大小写。雪花似乎将所有内容都转换为大写。我将数据库/模式/表名全部更改为大写,然后开始工作。