2014-11-20 84 views
0

我正在嘗試將文件從S3複製到Redshift。以我的方式站在我的無知如何使日期(以下粗體)始終是今天的日期。將日期動態插入S3的Redshift複製命令的文件名中

COPY cid_localytics_export 
FROM 's3://exports.localytics.t-z/<redacted>/**2014/11/19**/eb0ecf515724b3ef5a6d8cb-a8a0fa68-3551-11e4-4b45-00a426b17dd8/00.log.gz' 
CREDENTIALS 'aws_access_key_id=<redacted>;aws_secret_access_key=<redacted>' 
JSON 's3://exports.localytics.t-z/<redacted>/redshift_example.json' 
GZIP 
TRUNCATECOLUMNS; 

當我嘗試以下我得到一個語法錯誤。任何想法或建議將不勝感激。

COPY cid_localytics_export_test 
FROM (select ''''||'s3://exports.localytics.t-z/<redacted>/'||(select ltrim(rtrim(replace(replace(cast(date_trunc('day', now()) - interval '1 day' as varchar),'-','/'),' 00:00:00+00',''))))||'/eb0ecf515724b3ef5a6d8cb-a8a0fa68-3551-11e4-4b45-00a426b17dd8/00.log.gz'||'''') 
CREDENTIALS 'aws_access_key_id=<redacted>;aws_secret_access_key=<redacted>' 
JSON 's3://exports.localytics.t-z/whitepages/redshift_example.json' 
GZIP 
TRUNCATECOLUMNS; 

回答

0

紅移複製命令預計,文件夾或文件確切S3路徑(S3:// ABC/DEF或S3://abc/def/ijk.csv)

你需要給出正確的路徑文件。

你可以編寫簡單的java/php或shell腳本到(postgres drivers)創建s3路徑使用日期動態構建查詢然後觸發。以便用實際日期值替換它。

這樣就會出現語法錯誤。

相關問題