sparkSQL1.1入门之十:总结

回顾一下,在前面几章中,就sparkSQL1.1.0基本概念、运行架构、基本操作和实用工具做了基本介绍。

基本概念:

  • SchemaRDD

    • Rule
    • Tree
    • LogicPlan
    • Parser
    • Analyzer
    • Optimizer
    • SparkPlan
  • 运行架构:
    • sqlContext运行架构
    • hiveContext运行架构
  • 基本操作
    • 原生RDD的操作
    • parquet文件的操作
    • json文件的操作
    • hive数据的操作
    • 和其他spark组件混合使用
  • 实用工具
    • hive/console的操作
    • CLI的配置和操作
    • ThriftServer的配置和操作

由于时间仓促,有很多地方来不及详细,特别是第三章和第九章;另外还有一些新的特性没有介绍,比如列存储的实现过程、CODEGEN的源码分析等,将在后续的版本逐步完善。

从总体上来说,由于CLI的引入,使得sparkSQL1.1.0在易用性方面得到了极大地提高;而ThriftServer的引入,方便了开发者对基于SparkSQL的应用程序开发;hive/console的引入,极大地方面了开发者对sparkSQL源码的修改和调试;还有json数据的引入,不但扩充了sparkSQL的数据来源,同时对嵌套数据开始做了尝试。从Spark1.1.0开始,sparkSQL逐渐开始像是一个产品了,而不像spark1.0.0,感觉像是一个测试品。当然,由于sparkSQL项目的启动时间比较晚,到现在为止还不到一年,在很多方面还存在着不足:

  • SQL-92语法的支持度,sparkSQL使用了一个简单的SQL语法解析器,对于一些复杂的语法没办法解析,比如三个表进行join的时候,不能一次性join,而要通过两两join后再join一次;
  • cost model ,虽然sparkSQL的catalyst在最初设计的时候就考虑到了cost model,但在现在的版本还没有引入。我们相信,未来引入cost model之后,sparkSQL的性能将得到进一步地提升;
  • 并发性能,从impala得到的信息,sparkSQL的并发性能和impala相比,还是有不少的差距,这将是sparkSQL的一个发展方向。

匆匆忙忙中,sparkSQL1.1入门第一版就先在这里结束吧。特别感谢一下网站或博客提供了相关的知识:

www.databricks.com

spark.apache.org

github.com/apache/spark

http://spark-summit.org/2014

徽沪一郎

OopsOutOfMemory

张包峰的博客

时间: 2024-08-08 23:50:20

sparkSQL1.1入门之十:总结的相关文章

【Git入门之十二】DIY Git

[Git入门之十二]DIY Git - JackyStudio - 博客频道 - CSDN.NET Git的配置是很有学问的,如果弄懂它,将对你帮助很大. 1.用户配置 这是全局的. ? [cpp]?view plaincopy ? #设置用户名?? $Snbsp;git?config?--global?user.name?"Jacky"?? ?? #设置邮箱?? $Snbsp;[email protected]?? ? 2.设置默认编辑器 在需要输入文本信息时调用,比如之前的reba

【Git入门之十四】Git GUI

[Git入门之十四]Git GUI - JackyStudio - 博客频道 - CSDN.NET 文章都快写完了,Git GUI才浮出水面,很多人要骂我,这么方便的东西怎么不早拿出来. 当然命令行和图形界面各有千秋,个人觉得命令行更能让人清楚的掌握整个项目的代码线.当然萝卜青菜各有所爱,Windows,Linux也是一样.喜欢什么客官您挑.本文只做简单介绍. 1.Git GUI有什么? 霸气测漏的右键菜单和可视化管理界面. 2.初始化仓库 新建一个文件夹叫JackyGUI,右键点击Git In

[WebGL入门]二十,绘制立体模型(圆环体)

注:文章译自http://wgld.org/,原作者杉本雅広(doxas),文章中如果有我的额外说明,我会加上[lufy:],另外,鄙人webgl研究还不够深入,一些专业词语,如果翻译有误,欢迎大家指正. 本次的demo的运行结果 立体的模型 这次稍微喘口气,开始绘制立体模型.这里说的[喘口气]是指本次的文章中没有出现任何新的技术知识点.只是利用到现在为止所介绍过的内容,来绘制一个立体的圆环体.到现在为止,只绘制了三角形和四边形,当然,在三维空间中绘制简单的多边形也没什么不对,但是缺点儿说服力.

(转载)VS2010/MFC编程入门之五十(图形图像:GDI对象之画笔CPen)

上一节中鸡啄米讲了CDC类及其屏幕绘图函数,本节的主要内容是GDI对象之画笔CPen. GDI对象 在MFC中,CGdiObject类是GDI对象的基类,通过查阅MSDN我们可以看到,CGdiObject类有六个直接的派生类,GDI对象主要也是这六个,分别是:CBitmap.CBrush.CFont.CPalette.CPen和CRgn. 在这六个GDI对象中,最常用的莫过于画笔和画刷了,即CPen类和CBrush类.本文就主要讲解画笔的使用. 画笔的应用实例 鸡啄米在这里直接通过一个波形图的实

HTML与CSS入门——第十四章  使用边距、填充、对齐和浮动

知识点: 1.在元素周围添加边距的方法 2.在元素中添加填充的方法 3.对齐的方法 4.float属性的使用 这里提到了CSS禅意花园,这块有时间可以玩玩~ margin和padding:用于添加元素周围的间距 14.1 使用边距 margin是边距 参数可以有[1~4]4种类型 14.2 填充元素 padding用于填充border与内容之间的空间 参数与margin一致 14.3 保持对齐 align,对齐: 有text-align,vertical-align 使用值根据自己的需求再自行研

Swift入门(十二)——利用Extension添加逆序输出字符串方法

Swift好像没有自带逆序输出字符串的方法,于是决定通过拓展(Extension)给String类添加一个逆序输出字符串的reverse方法. 首先新建一个Swift文件,命名规则不太清楚,于是暂且模仿OC叫做String+Operation吧,然后实现我们需要拓展的方法.下面先贴上代码,然后解释一下这段代码. //String+Operation.swifft import Foundation //逆序输出swift中的字符串 extension String{ func Reverse()

UWP入门(十二)--数据绑定用法

原文:UWP入门(十二)--数据绑定用法 主要几个元素: Template DataTemplate ItemSource 数据绑定是一个数据提取的方法,能使数据和UI上的控件紧密相连,下面的Demo是这样的: 有许多书的集合,书 类中有图片.标题.作者和ID,把它成现在GridView 控件上,每次点击GridView 的时候动态显示书本信息 github 代码 效果图: 原理图: 1. Template 为GridView 创建一个Template,决定每个独立的图书对象如何呈现在屏幕上 <

Project Server 2013新手入门 (十)任务和审核1、查看任务和完成任务

任务和审核 项目经理(张经理)在完成项目创建,并将项目任务分配给指定用户之后,用户可通过PWA登录到Project Server服务器网页来查看自己的任务. 1.查看任务 用户(员工1)登录PWA网页,在"任务"列表就可以看到自己被分配到的任务. 并能在"问题"看到分配给自己的所有问题,当然也就能看到"风险" 2.完成任务 1)当资源(员工B)完成任务之后,可在自己的"任务"列表选中完成的任务名称,"标记完成&quo

Project Server 2013新手入门 (十二)特定工作组

很多时候我们需要那种分层次的组织结构来个部门分配任务,然后部门领导再给员工分配任务,这里就用到了了一个功能特定工作组.而创建一个全新的工作组的话,就要用到查阅表格. 1.新建查阅表格 1)在PWA中,选择"服务器设置",在"企业数据"下,选择"企业自定义域和查阅表格". 2)在"企业自定义域和查阅表格"页面,选择"自定义域的查阅表格"(如果企业自定义域比较多可能得向下翻阅滚动条才能找到) 3)在出现的页面中