所以每天我都会(自动)将很多.csv文件上传到我的s3存储桶中,我的下一步是将这些表加入/合并/ concat / etc进入更终状态,以便将其上传到redshift。 为了做到这一点,你建议我使用哪种服务?我分析了不同的方法:
s3 - > EC2 - >使用Python处理数据 - > Redshift(我不认为这非常有效) s3 - >管道 - > EMR - >管道 - > Redshift(我对EMR有0个了解) 我可以处理它已经处于红移状态吗?还有其他方法吗?通常我会产生1400万行数据,因此需要有效率。
数据的操作只是合并或连接表。例如:
表1:密钥,d1,d2,d3
表2:密钥,d4,d5
红移上的预期表:键,d1,d2,d3,d4,d5
而在另一种情况下,只将一个放在另一个之下。
答案 0 :(得分:0)
Redshift可以轻松处理此问题,并且可能比您提到的方法快100倍。
使用COPY
将CSV加载到单独的分段中,然后将它们插入到最终表中(如果需要,可以截断登台表)。
INSERT INTO final_table
SELECT a.key, a.d1, a.d2, a.d3, b.d4, b.d5
FROM table_1 AS a
LEFT JOIN table_2 AS b
USING (key);