代码之家  ›  专栏  ›  技术社区  ›  Vijay Kansal

使用Redshift vs Spark的大数据分析,Oozie Workflow Scheduler与Redshift Analytics

  •  0
  • Vijay Kansal  · 技术社区  · 10 年前

    我们希望对存储在Amazon Redshift中的数据进行大数据分析(目前以兆字节为单位,但会随着时间的推移而增长)。

    目前,我们的所有分析似乎都可以通过Redshift查询完成(因此,我们可能不需要分布式处理),但我们不确定未来是否仍然如此。

    为了构建一个能够满足我们未来需求的通用系统,我们希望使用Apache Spark进行数据分析。 我知道数据可以从HDFS、HBase和S3读取到Spark RDD中,但是 它是否支持直接从Redshift读取数据? 如果没有,我们可以将数据传输到S3,然后在SparkRDD中读取。

    我的问题是,我们是应该直接通过Redshift的查询进行数据分析,还是应该采用上述方法,通过Apache Spark进行分析 (这里的问题是数据位置优化可能不可用)?

    如果我们直接通过Redshift查询进行分析,任何人都可以吗 请推荐一个好的工作流计划程序 来编写我们的分析工作。我们的要求是能够作为DAG执行作业(只有当Job1成功时,Job2才能执行,等等),并且能够通过提议的工作流引擎调度我们的工作流。

    Oozie似乎很适合我们的需求,但事实证明,没有Hadoop就无法使用Oozie。 在我们的机器上设置Hadoop,然后使用Oozie Workflow Scheduler通过Redshift查询来安排数据分析作业,这有意义吗?

    1 回复  |  直到 10 年前
        1
  •  1
  •   Joe Harris    10 年前

    您不能直接访问存储在Redshift节点上的数据(每个节点都通过Spark),只能通过整个集群提交的SQL查询。

    我的建议是尽可能长时间地使用Redshift,只有在您绝对需要时才考虑Spark/Hadoop的复杂性。

    如果将来您迁移到Hadoop,那么级联语言可以让您选择运行现有的Redshift分析。

    关于工作流程,Oozie不适合Redshift。我建议您看看Azkaban(真正的DAG)或Luigi(使用Python DSL)。