4

是否可以将镶木地板文件直接加载到雪花中?如果是 - 如何?

谢谢。

4

2 回答 2

9

是的,这是可能的,最好通过 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

于 2018-07-09T13:33:13.407 回答
0

是的,这可能是一个解决方案

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);
于 2021-01-30T14:20:43.677 回答