Amazon Aurora RDS上的大数据分析

时间:2018-10-09 18:04:26

标签: apache-spark amazon-s3 hive amazon-rds-aurora

我有一个具有5亿条记录的Aurora表。 我需要执行大数据分析,例如查找两个表之间的差异。 到目前为止,我一直在文件系统上使用HIVE进行此操作,但是现在我们已将所有文件行插入Aurora DB中。 但是仍然每个月我都需要做同样的事情才能找到差异。

那么,什么才是最好的选择呢?

  1. 将Aurora数据作为文件导出到S3,然后在该数据库上运行HIVE查询(将所有Aurora行导出到S3需要花费多少时间?)
  2. 我可以在Aurora表上运行HIVE查询吗?(我想Aurora上的配置单元不支持)
  3. 在Aurora上运行spark SQL(性能如何)?

或者还有什么更好的方法。

1 个答案:

答案 0 :(得分:1)

我认为Aurora MySQL不是执行大数据分析的好选择。这是由于MySQL InnoDB的限制以及与MySQL InnoDB有关的Aurora的其他限制所致。例如,您找不到诸如数据压缩或列格式的功能。

关于Aurora,您可以使用例如Aurora并行查询,但是它不支持分区表。

https://aws.amazon.com/blogs/aws/new-parallel-query-for-amazon-aurora/

其他选项是使用AWS Glue直接连接到Aurora并执行分析,但是在这种情况下,数据库性能可能会出现问题。可能是瓶颈。

https://docs.aws.amazon.com/glue/latest/dg/populate-add-connection.html

我建议使用LOAD DATA FROM S3 / SELECT INTO OUTFILE S3 to S3导入/导出数据到s3,然后使用Glue或EMR执行分析。您还应该考虑使用Redshift代替Aurora。