是否可以将镶木地板文件直接加载到雪花中?如果是 - 如何?
谢谢。
是的,这是可能的,最好通过 S3 完成。请注意,以下假设您定义了一个 MY_PARQUET_LOADER 表、一个 STAGE_SCHEMA 模式和一个 S3STAGE,并且您的 parquet 文件位于 /path/ key/folder 下的存储桶上。
copy into STAGE_SCHEMA.MY_PARQUET_LOADER
from (
select
$1
,metadata$filename as metadata_filename
,metadata$file_row_number as metadata_file_row_number
,current_timestamp() as load_timestamp
from
@S3STAGE/path/)
pattern = '.*.parquet'
file_format = (
TYPE = 'PARQUET'
SNAPPY_COMPRESSION = TRUE )
ON_ERROR = 'SKIP_FILE_1%'
purge= TRUE;
存在的地方:
create or replace TABLE MY_PARQUET_LOADER (
RAW VARIANT,
METADATA_FILENAME VARCHAR(16777216),
METADATA_FILE_ROW_NUMBER NUMBER(38,0),
LOAD_TIMESTAMP TIMESTAMP_LTZ(9)
) cluster by (METADATA_FILENAME);
值得一读的精美手册:
https ://docs.snowflake.net/manuals/sql-reference/sql/copy-into-table.html
是的,这可能是一个解决方案
create or replace TABLE MY_PARQUET_LOADER (
RAW VARIANT,
METADATA_FILENAME VARCHAR(16777216),
METADATA_FILE_ROW_NUMBER NUMBER(38,0),
LOAD_TIMESTAMP TIMESTAMP_LTZ(9)
) cluster by (METADATA_FILENAME);