我们目前正在为非技术用户使用ETL工具(通过Hadoop),以便他们使用原始数据创建csv文件。开发人员根据需要为他们创建流程,并按需运行。由于我们使用数据湖文件(S3)来创建输出,我们需要将所有事实连接在一起并运行一些Hadoop需要一段时间才能完成的重型工作。
我们希望这些流程能够在更短的时间内运行。我的想法是使用UNLOAD命令实现redshift到这个任务。因为redshift中的数据已经根据业务需求构建,所以通常是一个非常简单的查询来获取他们想要的东西,运行时间为2-5分钟。
但是,我不确定是否让我们的用户根据需要选择运行卸载命令(不是通过自身,通过构建的进程),可能会使红移变得紧张。
任何人都可以提供一些相关信息。我们希望每天有大约20个查询,每次2-4分钟。
由于
尼尔
答案 0 :(得分:0)
它并不比其他任何选择要求更高。我建议您为这些用户定义特定的WLM队列。这样,您就可以限制他们使用的资源量,并隔离他们对系统其他部分的影响。
答案 1 :(得分:0)
我每天运行数百个UNLOAD(将Redshift数据发送到外部API)或备份和还原或深度复制表。我从未遇到过问题。
性能似乎与等效的SELECT相同(如果使用压缩则稍微多一点)