雪花:COPY 命令,用于将文件上传到仅包含标头和预期标头名称的 S3



我正在尝试解决 2 个问题

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

例如

预期标头 :

AcctID,qute_c,AcctNumber,AcctName,MRR

问题 2:该过程将文件从雪花查询上传到 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;

对于问题 1: 选择AcctID作为"帐户ID" ,账号为"帐号" ....

@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;

最新更新