我在我的redshift數據庫中有3個表格,數據來自S3的3個不同的csv文件,每隔幾秒鐘。一張表有30億條記錄,另外2條記錄有1億條記錄。對於近實時報告目的,我必須將此表合併到一個表中。我如何在紅移中實現這一點?如何使用Redshift數據庫進行轉換和報告?
0
A
回答
1
亞馬遜紅移近實時數據加載
我會說,第一步是要考慮是否紅移是你正在考慮工作量的最佳平臺。 Redshift不是流數據的最佳平臺。
Redshift的架構比流式插入更適合批量插入。 「提交」在Redshift中是「昂貴的」。
如果這些操作將與流數據競爭資源,則需要考慮VACUUM和ANALYZE的性能影響。
根據整套要求和工作量,在您的項目中使用Redshift可能仍然有意義,但請記住,爲了使用Redshift,您將圍繞它進行工程設計,並且可能會將工作量從「近實時」到微量批處理架構。
爲了總結一下:
- 歇輸入文件---打破幾個你的負載文件大小的文件 是切片的數量
- 列的編碼的多---有柱編碼預先定義在您的DDL中。
- 複印設置---確保COPY不嘗試評估最佳 編碼爲每個負載
- 負載在排序鍵順序 - 如果可能的話你的輸入文件應該有 相同的「自然秩序」作爲排序鍵
- 暫存表---使用多個暫存表並將它們加載到 並行中。
- 多時間序列表--- This documented approach for dealing with time-series in Redshift
- ELT ---使用SQL加載到 主要事實表做轉換的數據庫。
相關問題
- 1. 使用Star架構數據倉庫進行報告與分析
- 2. 數據庫(OLTP)和報告
- 3. NoSQL數據庫和報告
- 4. 如何使用MongoDB進行報告?
- 5. 使用pyodbc進行數據轉換以查詢iSeries數據庫 - 轉換錯誤
- 6. 從數據庫檢索數據時進行轉換或轉換?
- 7. 替換報告和所有子報表的數據庫連接
- 8. MySQL數據庫報告使用瀏覽
- 9. 使用Java生成數據庫報告
- 10. 如何進行數據轉換:NSArray char
- 11. 使用SMO恢復數據庫 - 報告進度問題
- 12. 如何報告在QuaGzipFile(QuaZIP庫)上讀取數據的進度
- 13. 如何使用多個遠程數據庫構建數據庫報告
- 14. 將JRBeancollection數據庫傳遞給主報告和子報告
- 15. .Net報告和數據庫控制
- 16. 如何在使用BackgroundWorker時報告在類庫中進行的工作進度
- 17. 如何使用Firebird的數據庫創建水晶報告
- 18. 將JMeter報告轉換爲JUnit報告
- 19. 配置TDWC v8.6 FP3或v9.x以便使用Oracle數據庫進行報告
- 20. 數據庫設計 - 報告
- 21. 報告數據庫同步
- 22. 處理數據庫報告中的換行符
- 23. 如何將報告轉換爲圖像?
- 24. 如何使用Java數據庫運行PDI轉換?
- 25. 如何從Glimpse獲取時間軸數據以進行報告?
- 26. 使用數據庫加載運行器創建報告
- 27. SQL - 使用報告服務進行報告的存儲過程
- 28. 使用R從XML數據生成銷售報告?轉換爲數據框?
- 29. 如何使用iconv進行utf8轉換?
- 30. 如何使用NSDateFormatter進行轉換?