Spark 高难度对话 SQL Server 续篇
GIIS (Global Information Industry Summit)峰会已经进行如火如荼进行了半程。商业数据库这边明显已经冷了下来,$1100 一天的峰会价格,并不是每个企业都吃得消,再者,在东半球上海举行的 QCon 已经吸引了更多的关注,那里的互联网应用似乎更加吸引资本的青睐,入会价格同样不低,接近 6K RMB ,好在是全场票。
L 这两天拿着 Spark, Hive, Hadoop 的资料,欣喜若狂。作为技术爱好者,有机会和同门师兄弟切磋,对于一个黄金单身汉来说,简直比遇见苍老师还兴奋。 这么大阅读量,怎么能少了每一天一杯星巴克。这会儿才 7 点,L已经拿着大杯焦糖拿铁,坐在星巴克硕大的落地窗前,看起资料来。
9 点峰会正式开场,只是准时来参加峰会的人比起前两天少了许多,又或许都是单位付费,大家都选择更晚的 10 点来参与。毕竟 5 星级酒店的自助餐,要好好享用嘛。
趁着空档,L 看到 SQL Server 和 Spark 两人又出来放风,抽烟了。 L 拿起杂志,悄悄的站在离他们俩不远的巴洛克风柱旁。
SQL Server: 小 S ,你们那边生意可真好。我们这里都准备收拾回家了,你们那边好像下半场才刚刚开始一样。好生羡慕,这好让我怀念 7,8年前的 MS SQL Summit. 谁都有年轻,芳华正茂的时候啊。
Spark: 大 S ,你也别惆怅了,你们 RDBMS 都风光多少年了。三十年河西,也该轮到我们了。放心吧,后浪只会推你们前浪,绝对拍不死你的。
说完,两人又是俯首大小,笑得跟兄弟一样亲。
L 看着两人的背影,想着明年就到 30 岁的坎了,也是唏嘘不已,MD,老子连浪都没见过呢。
SQL Server : 这几年我们最精湛的几个维修师傅都出逃了,能守住一片田地也实属不易。往后的日子真不知道怎整。昔日的辉煌可能很难维系。这把老骨头也经不起折腾了。
Spark 弹了弹烟头燃尽的灰落,“这老家伙,今天这么失落,不会是来套话的吧”。想虽然这么想,但毕竟也不好得罪这北美市场的老大哥,话说出来,却另改了一番口吻,“瘦死的骆驼,比马大。北美市场以及欧洲市场,你们还是不可动摇的扛把子。我们就不一样了,身形小,资本少,说没就没,还得依仗大哥们拉一把”
SQL Server 先是眉头一紧,心里也翻着不小的嘀咕,“这届年轻人,口风真紧”。接着眼开口笑,说道,“市场与资本风向,普遍倾向于你们年轻人,你看 Hortonworks 和 Cloudera 两家的合并,吸引了多少资本进去。这么强大的平台,可谓是巨人的肩膀啊,你们 Spark 却牢牢站在了风口。”
Spark : 说起这个事来,真还不让我省心。本来抱一家大腿就可以了。现在两家合并了,反而想抱也抱不紧了。那么多小弟都盯着这头巨象,Flink, MapR, Kylin, 都是曾经的小弟,给谁不给谁,大哥们也为难。外人看我们容易,平台大了,市场更多了,实际上这世界只认第一啊,谁能给第二容下一点点余地呢。
SQL Server : 那这么说,我们更愁。被 O 记压了那么多年,好不容易稳住了,却由面临你们年轻人的挑战。
Spark: 成年人的世界哪有 TMD 容易两字呢!
SQL Server: 说得真好,这话谁说的?
Spark: 好像是,尼古拉斯凯奇吧。在他《天气预报员》那片子里,这片子适合你看,抽空看看。
SQL Server: 就是那背着弓箭到处跑的那个主角吧。没错,中年男人,倒是一点都不油腻,只是比较废。
SQL Server: 有时间吗,给我讲讲你们的内幕呗。
Spark: 我们一窝子都是壮士,有啥好讲的,你们那里不是妹子多嘛。门口站着的“海瑟薇”,花多少美金雇来的
SQL Server: 又不正经了,那是哈佛商学院来的市场总监。我想要听听你们的技术内部原理。毕竟技术出身,还是对代码感兴趣,可能唯一能抓得住的也就是代码了。
转身看了眼“海瑟薇”,SQL Server 一个念想,“上一次碰自家媳妇,还是8年,9年前?,老了真不中用!可怜我的老母亲,连个孙子都还没报上……”
“走走走,我这回请你星爸爸”
“那还等什么,走呗。我要玛奇朵啊,超大杯的”
L 可喜坏了,这么大杯下去,还不兴奋的讲个不停,拿起手中的星冰乐,疾步跟了进去。
Spark 正借着 Starbucks的黑墙,画着几幅草图,当 L 找个好位置坐定的时候,Spark 也画完了 3 幅画中的最后的一幅。
![](http://wx1.sinaimg.cn/large/75b975bfgy1fwcqtao0jpj20jc0fodgm.jpg)
Spark 指着第一幅,清了清嗓子,开始了:
这是基础原理图,在所有用到我们的程序里,都是 RDD 做引子。定义好 RDD 的数据源,转换操作以及行为操作,剩下的都是集群里的哥们负责处理,用户都是小白,啥都不用设计,就像 T-SQL 一样,表定义好了,函数和存储过程一写,数据流怎么动,都是引擎的事儿。
关键的问题我也罗列出来了,回答出来这块就差不多了。
接下来,再看看如何提交我们的 Spark SQL 怎么去连你们的 SQL Server.
![](http://wx3.sinaimg.cn/large/75b975bfgy1fwcqtknm9dj21gv0nxjsq.jpg)
通常 Spark SQL 程序都会有一个引子程序,叫做 driver. 我们定义 RDD 的数据源,转换以及操作都是在 driver 里完成。
但是和其他语言不一样的是,我们定义的 RDD 操作,并不是每一步都随行同步执行的。这一点非常关键,否则你无法理解,Spark 的并行处理。
一般的解释性语言或者编译型语言,代码执行到哪一步,那一步就会执行响应的操作。但 Spark 却不是。代码的执行,在 transformation 阶段,也只不过是在完成数据流的定义而已,真正执行数据的统计等聚合操作,都是在 action 阶段。
这幅图,完成的就是并行连接 SQL Server 读取大数据量的表,拉取到 Spark 集群做处理。
比较费解的是,这些 Jar 路径的配置,这一块是我们永远的痛。
知道你在想啥,你肯定是想,用 c# 完善一套序列化和反序列化的操作,一样可以实现分布式处理嘛,再把 SQL 关系引擎的实现,加入一层网络文件系统,一样实现我们的功能,对吧!
SQL Server: 不好意思,我认为还确实是这样!
Spark: 不可能,就问一个问题,你们舍得免费么!
最后一张图,复杂一些,看仔细咯:
![](http://wx4.sinaimg.cn/large/75b975bfgy1fwcqtr5mn8j21ge0nl77j.jpg)
正确操作 Spark SQL 的两种方式:一是 DataSet/DataFrame 的DSL, 一种是 Spark 纯 SQL 方式。DSL 类似于 c# 的 LINQ, 不过你们的名字很欧口,LINQ,怎么读呢,Q的发音是ke吗?反正就是类似的一套 api 接口,看 scala 源代码就知道怎么玩弄这些 api 了。
这张图内涵就不讲了,太多了。够你消化段时间了。谢谢你的咖啡,回头见
SQL Server: 怪人!
说完,拿出新买的 iPhone X MAX, 啪啪的亮了几下,灌了一口咖啡,低头琢磨起来。
L 看着SQL Server 壮实却略驼的背影,看似年轻,可华发已生,心里好一阵凄凉,难道这就是技术人的一生?飞速的手指,划拉着屏幕,旁边的“苏菲”,明显已经抗议表示电量吃紧了。借着还杂志的空档,L 故意放慢脚步来到 SQL Server 旁边瞅了一眼,只见 “ SQL 2019 ” 红字标题跃然于苏菲笔记本屏幕之上。12.1 英寸的屏幕上,印着刚做完的草图
![](http://wx1.sinaimg.cn/large/75b975bfgy1fwctqlvb3tj211v0br3zp.jpg)
L 看完,想起一句话 “小孩子才分对错,成年人,只看利弊”。Spark 固然年轻可畏,却也架不住老司机的算计。In Memory 这种半残次作品,早该用 Spark 来代替了。
Spark 高难度对话 SQL Server 续篇相关推荐
- [Spark周边]--SQL Server 2019预览结合了SQL Server和Apache Spark来创建统一的数据平台
感谢原文作者:https://cloudblogs.microsoft.com/sqlserver/2018/09/24/sql-server-2019-preview-combines-sql-se ...
- SQL Server 2019将结合Spark创建统一数据平台
转载来自于:http://blog.itpub.net/31077337/viewspace-2214805/ 根据其官网最新消息,微软公布了SQL Server 2019预览版.在该预览中,SQL ...
- Microsoft SQL Server 2000整合规划
Microsoft SQL Server 2000整合规划 更新日期: 2004年06月24日 SQL Server技术文章 作者:Allan Hirt 投稿人:Tom Davidson和Shaun ...
- SQL Server 2000 Service Pack 4 中所修复的 bug 的列表
有关在 SQL Server 2000 Service Pack 4 已修复的 bug 的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: 314128 FIX: 一 ...
- 对比 SQL Server 2005 和 Oracle
在 Microsoft Windows Server 上运行的 SQL Server 2005,为企业级关系数据库和分析解决方案提供了一个平台,在安全.可用性.与 Visual Studio 的整合度 ...
- SQL Server性能优化案例报告
. 问题分析 1.1 现象描述 某企业客户内部知识管理系统基于微软SharePoint服务器产品并进行了应用扩展开发,NLB负载均衡部署,后台数据库采用SQL Server 2 ...
- Web API——添加Swagger、SQL Server、日志记录、导出到Excel和Docker
目录 介绍 要求 1.创建一个新的Web API项目 2.将Swagger添加到项目 3.将项目连接到SQL Server数据库 4.登录到SQL Server 5.添加"导出到Excel& ...
- 将PowerShell连接到SQL Server
介绍 (Introduction) PowerShell (aka Posh or just PS) is becoming more and more of a tool for operation ...
- sql server 群集_部署具有群集共享卷SQL Server –第2部分
sql server 群集 In the other article in this series: Deploy SQL Server for failover clustering with Cl ...
最新文章
- Android:ViewPager为页卡内视图组件添加事件
- VS2005中删除最近打开的项目和文件的记录
- 在ashx中使用Session
- 从Thread.start()方法看Thread源码,多次start一个线程会怎么样
- VS2012程序打包部署详解
- 计算机科学与技术专题,专题四 计算机科学与应用技术.ppt
- Mysql基础知识:创建、查看、修改和删除表
- 1.2、获取、创建 ApplicationContextInitializer
- 计算机病毒发展简史,计算机病毒分析_计算机病毒简史
- SQL Server【获取当前时间】
- 房屋租赁合同可不可以用笔修改
- 在“动物杂交:新视野”中快速赚钱的9种方法
- 判断OS版本的几个方法
- [Mybatis]复杂环境下的SQL
- 如何在虚拟机中运行知乎App
- 那些以玩笑说出口的话,往往是最真的表达
- 学习WEB前端第四天(3)-背景图像
- (三)DQL数据库指令
- 《OpenDRIVE1.6规格文档》2
- Android 电话系统框架介绍
热门文章
- 向量的夹角余弦公式_向量空间模型(VSM)的余弦定理公式(用余弦定理来表示向量之间的相似度)...
- 什么是 web API? DOM和BOM
- python+vue+Elementui植物园网站的设计django
- Python 列表推导式的实用小技巧
- 企业网站的服务器配置,企业级服务器配置方案(网站服务器配置情况)
- NGUI|如何做出用鼠标滚动切换武器的效果
- 移动端跨平台开发的深度解析
- 手机屏幕到底要多大才算是个头?
- 群英服务器网站,群英网
- 华为物联网(IOT)开发者平台