6

我想使用RedShiftCopyActivity和一個數據管道將一串csv文件從S3複製到Redshift。AWS Datapipeline RedShiftCopyActivity - 如何指定「列」

只要csv結構匹配表結構,這工作正常。在我的情況下,csv的列數少於表的數量,然後RedShiftCopyActivity在stl_load_errors中出現「Delimiter not found」錯誤。

我想使用redshift copy命令「columns」選項。這樣我可以使它工作,但redshift copy命令的列部分似乎沒有在RedShiftCopyActivity中可用。

有人有什麼建議嗎?

所有提示熱烈歡迎。

非常感謝前期。

彼得

+0

你有沒有找到解決這個問題的解決方案? – Erve1879 2015-02-19 10:03:23

+1

沒有解決方案。我們可以通過開發一個由管道啓動並調用redshift copy命令的python腳本來避免這個問題。比我想要的更不優雅,但至少它有效。 – Peter 2015-02-19 14:41:21

+0

謝謝@Peter。碰巧,我剛剛編寫了一個Python腳本來替換整個數據管道。 RedshiftCopyActivity和Data Pipeline控制檯有無盡的問題。 – Erve1879 2015-02-19 15:09:12

回答

1

我知道這是一個老問題,但現在你可以指定紅移COPY命令列的列表。

COPY tablename (column1 [,column2, ...]) 

從S3加載數據時,列順序需要匹配源數據的順序。看看這裏的文檔:Amazon Redshift Column Mapping Options

拉杜

+0

謝謝你讓我知道拉杜。我們放棄了DataPipeLine並編寫了一個python腳本。現在運行在ec2實例上,但我想我們可以考慮轉向lambda。 – Peter 2016-04-04 20:44:29

+0

在Amazon Redshift和Lambda上有非常好的博客文章。我們已經使用它並且像魅力一樣工作。您應該檢查它:[零管理Amazon Redshift數據庫加載程序](https://blogs.aws.amazon.com/bigdata/post/Tx24VJ6XF1JVJAA/A-Zero-Administration-Amazon-Redshift-Database-Loader) – 2016-04-05 06:59:04

+0

謝謝你的提示! – Peter 2016-04-06 11:20:42

相關問題