当我这样卸载到S3时:
COPY INTO '@stage/foobar'
FROM some.table
file_format = (type = csv,
RECORD_DELIMITER = 'n',
FIELD_DELIMITER=',',
FIELD_OPTIONALLY_ENCLOSED_BY='"')
SINGLE = FALSE
HEADER = TRUE
我在S3上获得了多个文件。我两次执行了这种类型的转储,两次都是foobar_[digit]_[digit]_[digit].csv.gz
,但它们看起来与众不同:
# files dumped the first time
foobar_0_0_0.csv.gz
foobar_0_1_0.csv.gz
foobar_0_2_0.csv.gz
foobar_0_3_0.csv.gz
foobar_0_4_0.csv.gz
foobar_0_5_0.csv.gz
foobar_0_6_0.csv.gz
foobar_0_7_0.csv.gz
foobar_1_0_0.csv.gz
foobar_1_2_0.csv.gz
foobar_1_3_0.csv.gz
foobar_1_4_0.csv.gz
foobar_1_5_0.csv.gz
foobar_1_7_0.csv.gz
# files dumped the second time
foobar_0_1_0.csv.gz
foobar_0_2_0.csv.gz
foobar_0_3_0.csv.gz
foobar_0_4_0.csv.gz
foobar_0_5_0.csv.gz
foobar_0_6_0.csv.gz
foobar_0_7_0.csv.gz
foobar_1_0_0.csv.gz
foobar_1_1_0.csv.gz
foobar_1_2_0.csv.gz
foobar_1_3_0.csv.gz
foobar_1_4_0.csv.gz
foobar_1_7_0.csv.gz
后缀是什么意思?
有三件事使我感到困惑:
- 最后一个数字不使用
- 第二个数字开始计算(0-7(,但停在7.
- 为什么第二个转储不存在
0_0_0
?
这些后缀只是为了确保跨并行执行的唯一名称,但除此之外并不重要。您可以使用MAX_FILE_SIZE
复制选项调整其在卸载期间创建的文件数量,或通过设置SINGLE = TRUE
禁用将卸载列入多个文件。
https://docs.snowflake.net/manuals/user-guide/data-unload-overview.html#bulk-unloading-into-into-into-single-single-multiple-multiple-files