我有一个驻留在AWS S3中的大型数据集。此数据通常是事务数据(如调用记录)。我运行一系列Hive查询来连续运行聚合和过滤条件以生成几个最终的压缩文件(最多有数百万行的csv)。
到目前为止,使用Hive,我不得不手动运行一个接一个的查询(因为有些查询由于AWS或其他等问题而导致失败)。
到目前为止,我使用手动方式处理了2个月的数据。
但是在接下来的几个月里,我希望能够编写一些将逐个执行查询的工作流,如果查询失败,它将再次重新运行。 这可以通过在bash.sh文件中运行配置单元查询来完成(至少我目前的方法)。
hive -f s3://mybucket/createAndPopulateTableA.sql
hive -f s3://mybucket/createAndPopulateTableB.sql ( this might need Table A to be populated before executing).
或者,我一直在考虑Cascading想知道它是否可能是我的问题的解决方案,它确实有Lingual,这可能适合这种情况。但不确定它是如何适应AWS生态系统的。
最好的解决方案是,如果有一些hive查询工作流程,那将是最佳的。还有我在hadoop生态系统中有哪些其他选择?
编辑: 我现在正在看Oozie,虽然面临着在emr中设置的大量问题。 :(
答案 0 :(得分:0)
您可以使用AWS Data Pipeline:
AWS Data Pipeline可帮助您轻松创建容错,可重复且高度可用的复杂数据处理工作负载
您可以将其配置为在脚本失败时执行或重试某些操作,并且它支持Hive脚本:http://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-hiveactivity.html