AWS EMR中的数据转换,不使用Scala或Python

时间:2017-08-07 17:18:11

标签: amazon-web-services amazon-redshift amazon-emr

我有一种星型模式的数据库结构,就像一个具有所有id&的事实表。 skeys,而有多个维度表具有事实表中引用的id的实际id,代码和描述。

我们将所有这些表(事实和维度)分别移动到S3(云),每个表数据在S3位置拆分成多个镶木地板文件(每个表一个S3对象)

查询:我需要在云上执行转换(即)我需要剥离所有id&事实表中引用的skeys将其替换为驻留在维度表中的实际代码,并创建另一个文件并将最终输出存储回S3位置。此文件稍后将由Redshift for Analytics使用。

我怀疑: 什么是实现此解决方案的最佳方式,因为我不需要Redshift中的原始数据(skeys& id)来进行成本和存储优化? 在执行数据转换之前,我们是否需要首先将这些拆分文件(镶木地板)组合成一个大文件(即)。此外,在数据转换后,我打算将最终输出文件保存为镶木地板格式,但问题是,Redshift不允许复制镶木地板文件,因此有一个解决方法 我不是一个铁杆程序员,想避免在EMR中使用scala / python,但我擅长SQL,所以有没有办法在云中通过SQL通过EMR执行数据转换并将输出数据保存到文件或文件中。请指教

1 个答案:

答案 0 :(得分:0)

您应该可以使用amazon athena直接针对您的s3镶木地板数据运行红移类型查询

有关此的一些信息 https://aws.amazon.com/blogs/big-data/10-best-practices-for-amazon-redshift-spectrum/