Apache spark Spark和#x27之间的关系是什么;s全阶段Java代码生成器模块

Apache spark Spark和#x27之间的关系是什么;s全阶段Java代码生成器模块,apache-spark,apache-spark-sql,Apache Spark,Apache Spark Sql,我正在探索Spark的整个阶段Java代码生成特性,注意其中有几个组件。有一个执行引擎和一个编译器 你能澄清一下所有部件之间的关系吗?我认识的运动部件有: 查询优化的催化剂 执行引擎 贾尼诺编译器 这些是今天的标准吗?还有其他我没提到的地方吗 Spark和这些组件之间以及组件之间的执行流程是什么?查询“流程”是: 用户创建一些数据集-现在它只有logicalPlan 在动作评估期间,Spark使用Analyzer和Catalyst进行树操作 接下来,Spark使用优化analyzedPlan,

我正在探索Spark的整个阶段Java代码生成特性,注意其中有几个组件。有一个执行引擎和一个编译器

你能澄清一下所有部件之间的关系吗?我认识的运动部件有:

  • 查询优化的催化剂
  • 执行引擎
  • 贾尼诺编译器
  • 这些是今天的标准吗?还有其他我没提到的地方吗

    Spark和这些组件之间以及组件之间的执行流程是什么?

    查询“流程”是:

    • 用户创建一些数据集-现在它只有logicalPlan
    • 在动作评估期间,Spark使用Analyzer和Catalyst进行树操作
    • 接下来,Spark使用优化analyzedPlan,成批运行优化规则,直到计划“稳定”或我们有最大迭代次数
    • 在物理规划过程中,Spark使用Janino编译优化过程中标记为“批发性阶段”的所有步骤(阶段)。请注意,如前所述,编译是钨项目的一部分。例如,该项目的另一部分是内存中数据的新二进制表示
    • 最后,Spark执行引擎执行生成的代码

    请注意,“Catalyst”是作为一个树操作框架创建的,现在我们通常称整个优化器为“Catalyst”。钨只是一个开发了一些功能的项目,但现在我们说,使用钨的功能的执行引擎被称为钨

    @JacekLaskowski,我知道你在钻研“什么是催化剂”,请分享信息,如果我为投票结束的人写的一切都好的话:来吧,在我看来,组件之间的关系并不太广泛。OP不要求提供详细信息,只要求提供3个组件之间的关系,我认为回答起来相当简短;)