Hadoop/Spark用于构建大型分析报告

Hadoop/Spark用于构建大型分析报告,hadoop,apache-spark,distributed-computing,Hadoop,Apache Spark,Distributed Computing,我对分布式处理引擎一无所知,所以很难理解它是否适合我的需要 我在关系数据库中有一个巨大的表,用户每天都在使用它(crud操作和搜索) 现在有了一项新的任务——有可能根据需要构建一份为期两年的庞大汇总报告。而且要快。 过去两年的所有表格记录都太大,无法存储在内存中,所以我应该将计算分为几块,对吗 我不想重新发明轮子,所以我的问题是, 像Hadoop这样的分布式处理系统适合这种任务吗?可能。 非Hadoop的方法是创建半聚合报告,您可以将其用于其他聚合。 即,使用30个每日聚合创建1个月聚合 在某些

我对分布式处理引擎一无所知,所以很难理解它是否适合我的需要

我在关系数据库中有一个巨大的表,用户每天都在使用它(crud操作和搜索)

现在有了一项新的任务——有可能根据需要构建一份为期两年的庞大汇总报告。而且要快。 过去两年的所有表格记录都太大,无法存储在内存中,所以我应该将计算分为几块,对吗

我不想重新发明轮子,所以我的问题是, 像Hadoop这样的分布式处理系统适合这种任务吗?

可能。 非Hadoop的方法是创建半聚合报告,您可以将其用于其他聚合。 即,使用30个每日聚合创建1个月聚合

在某些情况下,这可能是不可能的,因此您可以将数据拉到您的spark cluster或诸如此类的地方并进行聚合。 通常关系数据库不会提供数据局部性功能,因此可以将数据移动到一些nosql数据库,如Cassandra、hbase或elasticsearch。
还有一个重要的关键问题是,你希望答案是实时的吗?除非您进行一些工作,如作业服务器等,否则spark或Hadoop作业通常是批处理作业。意味着您提交作业并稍后获得答案(spark streaming是一个例外。)

不幸的是,无法对预聚合的报告使用该方法,因为存在来自用户输入的一些聚合参数,并且任何时候都可以从旧系统迁移一些新数据。不,绝对不需要实时,报告应该异步生成。这是否意味着Hadoop方式是这种情况下的最佳方法?