Snowflake:使用仅 Header 和预期的 Header 名称将文件上传到 S3 的 COPY 命令

Snowflake: COPY Command to upload files into S3 with only Header and with expected Header Names

我正在尝试解决 2 个问题

问题 1. 复制命令创建了 HEADER,所有列都为 CAPS,但我需要生成 header 所需的应用程序

例如

预计 Header:

AcctID,qute_c,AcctNumber,AcctName,MRR

问题 2: 该过程从 Snowflake 查询将文件上传到 s3。当有行时,它会上传工作正常的文件,但是当没有返回行时,不会上传任何按预期工作的文件

但是,我仍然想上传带有 HEADER 的空文件,仅当没有返回任何行时

   COPY INTO '@stage/path/test.csv'
    FROM (SELECT A.AcctID,B.qute_c,A.AcctNumber,A.AcctName,B.MRR FROM TABLE A , TABLE B  WHERE A.AcctID=B.AcctID AND A.C_DATE = CURRENT_DATE())
    MAX_FILE_SIZE = 5368706371
    FILE_FORMAT = (FORMAT_NAME = 'CSV_TEXTQUOTE_NOZIP')
    OVERWRITE=TRUE
    SINGLE=TRUE
    HEADER = TRUE;

第一个问题: SELECT 帐户 ID "Account Id" , AcctNumber AS "Account Number" ....

@Diamantis,是的,我通过包含 UNION 查询来解决了这两个问题

COPY INTO '@stage/path/test.csv'
    FROM (
SELECT 'AcctID' as AcctID, 'qute_c' as qute_c ,'AcctNumber' as AcctNumber ,'AcctName' as AcctName,'MRR' as MRR
Union
SELECT A.AcctID,B.qute_c,A.AcctNumber,A.AcctName,B.MRR FROM TABLE A , TABLE B  WHERE A.AcctID=B.AcctID AND A.C_DATE = CURRENT_DATE())
    MAX_FILE_SIZE = 5368706371
    FILE_FORMAT = (FORMAT_NAME = 'CSV_TEXTQUOTE_NOZIP')
    OVERWRITE=TRUE
    SINGLE=TRUE
    HEADER = FALSE;