请原谅我的无知,如果这个问题听起来像这里的专家观众那么愚蠢
目前根据我的用例 我正在对aws redshift表中存在的数据执行某些分析,并将它们保存在s3存储桶中的csv文件中 (操作与Pivot for redshift database类似) 之后我使用复制命令
将数据更新回redshift db目前在执行分析(在python3中完成)之后,生成200个csv文件,这些文件保存在红移中的200个不同的表中
csv的数量会随着时间的推移而不断增加 目前整个过程大约需要50-60分钟才能完成
25分钟获得大约200 csv并在s3桶中更新它们
25分钟将大约200 csv更新为200 aws红移表
csv的大小从几MB变为1GB
我一直在寻找可以帮助我减少时间的工具或技术
*其他信息
csv的结构不断变化。我必须再次删除并创建表 这将是一个重复的任务,将在每6小时执行
答案 0 :(得分:2)
您可以通过以下方式实现显着的加速:
答案 1 :(得分:1)
你应该探索Athena。它是AWS软件包中的一个工具,可让您灵活地查询csv(甚至是gzip)文件。
它可以节省您在Redshift表中手动复制数据所花费的时间,并且您将能够从csv本身查询数据集。 Athena能够从s3存储桶中查询它们。
然而,仍然处于开发阶段,你将不得不花一些时间来使用它,因为它不是非常用户友好。查询中的语法错误会导致您退出AWS会话,而不是抛出语法错误。此外,你不会在互联网上找到太多的文档和开发人员谈话,因为雅典娜仍然在很大程度上尚未开发。
Athena根据您的查询提取的数据向您收费,因此更加便于携带。如果查询无法执行,亚马逊不会向您收费。