第 45课:神速Spark的新解析引擎catalyst 1 catalyst本地解析 2 catalyst流程精彩解析
spark streaming依赖于 dataset dataframe,而dataset dataframe依赖于catalyst;绝对有必要精通catalyst和tungsten;
catalyst不仅仅是sql的一个解析器引擎,应看做spark新一代的解析器引擎,扩展到spark streaming、graph。。。;
catalyst非常方便添加优化的技术,随意扩展,spark 2.x 对dataset进行编程,dataset底层就是catalyst。新的 功能和特性。
catalyst解析器中的优化部分,可以给新的引擎增加新的数据类型。这个数据类型的增加是非常恐怖的事情,这个能做的事情就太多了。拓展已有的树。
catalyst可以随意添加新的数据源,做优化。
一言以蔽之:catalyst工作是一颗语法树,树状结构。有一系列的RULE
数据结构层面:
catalyst把sql、datafrmae的内容用tree来存储,理解用数组、haspmap存储没有区别。
解析规则:
怎么对这个树进行解析和优化。
每个节点有0个或多个子节点。