我正在使用Redhshift譜。我創建了一個外部表格,並在S3上傳了一個csv數據文件,其中包含大約550萬條記錄。如果在這個外部表上觸發一個查詢,它會花費大約15秒,而如果我在Amazon Redshift上運行相同的查詢,我在〜2秒內得到相同的結果。 AWS宣稱它是非常高性能的平臺,這可能是導致性能滯後的原因。請使用頻譜建議解決方案以獲得相同的性能Redshift Spectrum的性能問題
回答
爲了您的性能優化,請查看http://docs.aws.amazon.com/redshift/latest/dg/c-spectrum-external-performance.html以瞭解您的查詢。
現在,如果您沒有單個CSV文件但是多個文件,效果最佳。通常情況下,如果每個查詢的文件數量至少比您的羣集的節點數量大一個數量級,則可以說您獲得了出色的性能。另外,如果你使用Parquet文件,你可以在S3上獲得柱狀格式的優勢,而不需要閱讀從S3讀取整個文件的CSV文件 - 並且降低了你的成本。
您可以使用下面的腳本把數據轉換爲實木複合地板:
https://github.com/awslabs/aws-big-data-blog/tree/master/aws-blog-spark-parquet-conversion
是否有任何在線csv拼花轉換器可用。? –
你可以試試這個:https://github.com/awslabs/aws-big-data-blog/tree/master/aws-blog-spark-parquet-conversion – grundprinzip
這些結果是可以預料的。使用Amazon Redshift的全部理由是它以高度優化的方式存儲數據以提供快速查詢。存儲在Redshift之外的數據不會以接近最快的速度運行。
Amazon Redshift Spectrum的目的是提供對存儲在Amazon S3中的數據的訪問,而無需將其加載到Redshift(類似於Amazon Athena),但它沒有任何性能保證。
我有點晚回答這個問題。截至2018年2月,AWS支持AWS Spectrum查詢柱狀格式的文件,如Parquet,ORC等。在您的情況下,您將文件存儲爲.CSV。 CSV是基於行的,這會導致查詢任何字段的整行。在查詢之前,我會建議您將.csv中的文件轉換爲Parquet格式。這肯定會帶來更快的性能。來自AWS的詳細信息在 https://aws.amazon.com/redshift/spectrum/
Spectrify可能對此有用:https:// github的.com/hellonarrativ/spectrify –
- 1. redshift sql current_date get_date()性能問題
- 2. Amazon Redshift - 複製 - 數據加載與查詢性能問題
- 3. 刪除雙引號「,同時將數據加載到Amazon Redshift Spectrum
- 4. AWS Redshift Spectrum - 如何在外部表中獲取s3文件名
- 5. Amazon Redshift安全組問題
- 6. 性能問題
- 7. 性能問題
- 8. 性能問題
- 9. 性能問題
- 10. 性能問題
- 11. 性能問題
- 12. 性能問題
- 13. 。性能問題
- 14. 性能問題
- 15. 性能問題
- 16. 性能問題
- 17. 性能問題
- 18. SQL Workbench/J中的Redshift連接問題
- 19. PBRT Spectrum toRGB range
- 20. Nginx性能問題
- 21. StreamInsight性能問題
- 22. MemSQL性能問題
- 23. Directory.GetFiles()性能問題
- 24. Javascript性能問題
- 25. C#性能問題
- 26. requestAnimationFrame()性能問題
- 27. SSRS性能問題
- 28. Primefaces性能問題
- 29. xsl性能問題
- 30. FragmentStatePagerAdapter性能問題
我沒有太多的Redshift Spectrum經驗,但這似乎完全合理?不同之處在於Redshift由實例或EBS硬盤支持,Spectrum運行在S3上。我不希望他們具有可比性。 Spectrm專爲PB和以上分析而設計,在Redshift或Hadoop中甚至不可能接近。 – Henry