为什么有人会在Tez上运行Spark / Flink?

时间:2016-09-09 12:42:50

标签: hadoop apache-spark apache-flink apache-tez tez

在Saha等人的Tez paper中,显示了Hadoop 2与Tez的以下模块化架构:

Hadoop 2 with Tez

为什么有人会在Tez上运行Spark / Flink?

有什么好处?更好地利用YARN?

1 个答案:

答案 0 :(得分:0)

如果我理解正确的话,在tez上运行spark可以在理论上导致更好的DAG。例如,这可以应用于机器学习迭代。

相关段落如下。

  

我们能够对编译后的Spark进行编码   DAG到Tez DAG并在YARN集群中成功运行它   没有运行Spark引擎服务。用户定义的Spark代码是   序列化为Tez处理器有效负载并注入通用   Spark处理器,用于反序列化并执行用户代码。这个   允许未经修改的Spark程序使用Spark自己在YARN上运行   运行时运算符... Tez会话还支持Spark机器学习迭代   通过将每次迭代DAG提交给共享来有效地运行   Tez会议。这项工作是一个实验原型,而不是一部分   Spark项目

话虽如此,看起来这个组合从未在实验环境之外实现过,所以即使有合理的理由将Tez与Spark等工具结合起来,此时也无法帮助任何项目。

另外,我个人的期望是,除非你有非常具体的工作负载,否则如果Tez DAG明显优于普通的Spark DAG,我会感到很惊讶。