Dive Into Catalyst

Dive Into Catalyst

ID:39507529

大小:3.44 MB

页数:83页

时间:2019-07-04

Dive Into Catalyst_第1页
Dive Into Catalyst_第2页
Dive Into Catalyst_第3页
Dive Into Catalyst_第4页
Dive Into Catalyst_第5页
资源描述:

《Dive Into Catalyst》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、DiveIntoCatalystQConBeijing2015ChengLian“Inalmosteverycomputationagreatvarietyofarrangementsforthesuccessionoftheprocessesispossible,andvariousconsiderationsmustinfluencetheselectionamongstthemforthepurposesofaCalculatingEngine.Oneessentialobjectistochoo

2、sethatarrangementwhichshalltendtoreducetoaminimumthetimenecessaryforcompletingthecalculation.”AdaLovelace,1843WhatIsCatalyst?Catalystisafunctional,extensiblequeryoptimizerusedbySparkSQL.-LeveragesadvancedFPlanguage(Scala)features-Containsalibraryforrepresentingtreesandapplyi

3、ngrulesonthemTreesTreeisthemaindatastructureusedinCatalyst-Atreeiscomposedofnodeobjects-Anodehasanodetypeandzeroormorechildren-NodetypesaredefinedinScalaassubclassesoftheTreeNodeclassTreesExamples-Literal(value:Int)-Attribute(name:String)-Add(left:TreeNode,right:TreeNode)Add

4、(Attribute(x),Add(Literal(1),Literal(2)))RulesRulesarefunctionsthattransformtrees-Typicallyfunctional-Leveragepatternmatching-Usedtogetherwith-TreeNode.transform(synonymoftransformDown)-TreeNode.transformDown(pre-ordertraversal)-TreeNode.transformUp(post-ordertraversal)Rules

5、Examples-Simpleconstantfoldingtree.transform{caseAdd(Literal(c1),Literal(c2))=>Literal(c1+c2)caseAdd(left,Literal(0))=>leftcaseAdd(Literal(0),right)=>right}RulesExamples-Simpleconstantfoldingtree.transform{caseAdd(Literal(c1),Literal(c2))=>Literal(c1+c2)caseAdd(left,Literal(

6、0))=>leftcaseAdd(Literal(0),right)=>right}PatternRulesExamples-Simpleconstantfoldingtree.transform{caseAdd(Literal(c1),Literal(c2))=>Literal(c1+c2)caseAdd(left,Literal(0))=>leftcaseAdd(Literal(0),right)=>right}TransformationRulesExamples-Simpleconstantfoldingtree.transform{c

7、aseAdd(Literal(c1),Literal(c2))=>Literal(c1+c2)caseAdd(left,Literal(0))=>leftcaseAdd(Literal(0),right)=>right}RuleBrainsuckBrainsuckisanoptimizingcompileroftheBrainfuckprogramminglanguageBrainsuckBrainsuckisanoptimizingcompileroftheBrainfuckprogramminglanguage-Yeah,it’snotat

8、ypo,justwannaavoidsayingdirtywordsallthetimeduringthetalk:^)BrainsuckBrains

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。