我有一种星型模式的数据库结构,就像一个具有所有id&的事实表。 skeys,而有多个维度表具有事实表中引用的id的实际id,代码和描述。
我们将所有这些表(事实和维度)分别移动到S3(云),每个表数据在S3位置拆分成多个镶木地板文件(每个表一个S3对象)
查询:我需要在云上执行转换(即)我需要剥离所有id&事实表中引用的skeys将其替换为驻留在维度表中的实际代码,并创建另一个文件并将最终输出存储回S3位置。此文件稍后将由Redshift for Analytics使用。
我怀疑: 什么是实现此解决方案的最佳方式,因为我不需要Redshift中的原始数据(skeys& id)来进行成本和存储优化? 在执行数据转换之前,我们是否需要首先将这些拆分文件(镶木地板)组合成一个大文件(即)。此外,在数据转换后,我打算将最终输出文件保存为镶木地板格式,但问题是,Redshift不允许复制镶木地板文件,因此有一个解决方法 我不是一个铁杆程序员,想避免在EMR中使用scala / python,但我擅长SQL,所以有没有办法在云中通过SQL通过EMR执行数据转换并将输出数据保存到文件或文件中。请指教
答案 0 :(得分:0)
您应该可以使用amazon athena直接针对您的s3镶木地板数据运行红移类型查询
有关此的一些信息 https://aws.amazon.com/blogs/big-data/10-best-practices-for-amazon-redshift-spectrum/