
SparkSQL是Spark新推出来的一个模块。关于SparkSQL的八卦其实知道的不多,然则技巧上倒能说几句。
SparkSQL最重要的器械有两个,一个是DataFrame周全代替了RDD。我必须为这个叫声好。作为一个根红苗正的关系数据库思惟陶冶出来的人,带有RDD的Spark总给我一种干爹干妈做的数据处理的产品的感到。用上DataFrame立时有回到亲爹亲妈做的产品的感到。时代的差距,可能是无法言语表达的。
DataFrame看起来像表了,有metadata了,既打开了做optimization的空间,又可以或许很好的和其他的Spark模块结合起来。切实其实是Spark一步领先步步领先的必定选择,是大年夜杀器。DataFrame一出,Spark的地位就真的稳定起来了。
第二个器械就是SparkSQL有了一个optimizer。这个optimizer粗看起来其实也没什么特别的。作为在好几个optimizer琅绫仟改code的人,这个optimizer一看就是关系数据库的套路。有logical的pass有physical的pass。然则我认为有几点是不合的。第一点是rule本身是用Scala写的。作为一个functional programming的说话,写tree matching写起来是轻车熟路。用Scala来写rule切实其实是异常的有意思和有意义的一个选择。第二是它有很多extension point。这就使得它用起来可获展性好。至于CodeGen成JVM bytecode,自负年夜有了LLVM在数据库琅绫擎折腾,就算不上特其余惊艳了。然则起码的好处是不管什么竽暌癸言无论是python照样java用SparkSQL,机能差距都不大年夜了。
起初我文┞仿提到了Shark是个掉败的作品。这个不雅点大年夜Shark出来不久我就如许认为了。SparkSQL的论文承认Spark团队也认为Shark是一条胡同走到黑的选择。既不克不及够对本地的RDD做萌芽,也不克不及有效和其他的Spark的模块交互。豪杰所见略同。当然狗熊所见也差不多。至于是豪杰照样狗熊,各位看官本身断定。
【编辑推荐】
- 英特尔开源分布式深度进修库BigDL:支撑高机能大年夜数据分析
- 成本与机能兼得 简化Hadoop云安排的高着儿
- HBase最佳实践-写机能优化策略
- Spark机能优化之道——解决Spark数据倾斜(Data Skew)的N种姿势
- 若何应用Hadoop晋升Hive萌芽机能
至于这个器械的将来成长,我认为optimization如今在SQL相干的操作和其他操作之寄┞氛样要间断的。如不雅前面一堆sql的操作,中心有个machine learning的call,接下来竽暌怪有一个sql的操作,optimization其实很难说把这三个捆在一路,做一个global的optimization。User-defined operator掺和的优化是很有意思又很难的。
别的我很能懂得为什么如今体系是rule-based。Cost-based的器械在这种大年夜范围分布式的体系下,很多时刻怎么去cost就是个问题,不如Rule来得实用。能做固然是牛逼,然则其实能起感化的处所有限。我想如不雅我来,也挥萑上rule看看再说,也许这辈子都不上cost-based了。当然我据说袈溱Spark Summit上,华为来的同窗们上了一个cost-based optimizer。我不知道是不是华为的底蕴异常的牛,照样人有多大年夜胆,地有多大年夜产了。
推荐阅读
引言很多企业的办事器经常遭受到进击,出现的进击方法有:http办事进击、操作体系马脚溢出进击、sql注入进击等。大年夜多办事器都托管在阿里云或者腾讯云上,这些云办事也都供给杀毒软件和>>>详细阅读
地址:http://www.17bianji.com/lsqh/34602.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示