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 幅画中的最后的一幅。

image

Spark 指着第一幅,清了清嗓子,开始了:

这是基础原理图,在所有用到我们的程序里,都是 RDD 做引子。定义好 RDD 的数据源,转换操作以及行为操作,剩下的都是集群里的哥们负责处理,用户都是小白,啥都不用设计,就像 T-SQL 一样,表定义好了,函数和存储过程一写,数据流怎么动,都是引擎的事儿。

关键的问题我也罗列出来了,回答出来这块就差不多了。

接下来,再看看如何提交我们的 Spark SQL 怎么去连你们的 SQL Server.

image

通常 Spark SQL 程序都会有一个引子程序,叫做 driver. 我们定义 RDD 的数据源,转换以及操作都是在 driver 里完成。

但是和其他语言不一样的是,我们定义的 RDD 操作,并不是每一步都随行同步执行的。这一点非常关键,否则你无法理解,Spark 的并行处理。

一般的解释性语言或者编译型语言,代码执行到哪一步,那一步就会执行响应的操作。但 Spark 却不是。代码的执行,在 transformation 阶段,也只不过是在完成数据流的定义而已,真正执行数据的统计等聚合操作,都是在 action 阶段。

这幅图,完成的就是并行连接 SQL Server 读取大数据量的表,拉取到 Spark 集群做处理。

比较费解的是,这些 Jar 路径的配置,这一块是我们永远的痛。

知道你在想啥,你肯定是想,用 c# 完善一套序列化和反序列化的操作,一样可以实现分布式处理嘛,再把 SQL 关系引擎的实现,加入一层网络文件系统,一样实现我们的功能,对吧!

SQL Server: 不好意思,我认为还确实是这样!

Spark: 不可能,就问一个问题,你们舍得免费么!

最后一张图,复杂一些,看仔细咯:

image

正确操作 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 英寸的屏幕上,印着刚做完的草图

image

L 看完,想起一句话 “小孩子才分对错,成年人,只看利弊”。Spark 固然年轻可畏,却也架不住老司机的算计。In Memory 这种半残次作品,早该用 Spark 来代替了。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31553767/viewspace-2216856/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/31553767/viewspace-2216856/

Spark 高难度对话 SQL Server - 续篇相关推荐

  1. Spark 高难度对话 SQL Server 续篇

    GIIS (Global Information Industry Summit)峰会已经进行如火如荼进行了半程.商业数据库这边明显已经冷了下来,$1100 一天的峰会价格,并不是每个企业都吃得消,再 ...

  2. [Spark周边]--SQL Server 2019预览结合了SQL Server和Apache Spark来创建统一的数据平台

    感谢原文作者:https://cloudblogs.microsoft.com/sqlserver/2018/09/24/sql-server-2019-preview-combines-sql-se ...

  3. SQL Server 2019将结合Spark创建统一数据平台

    转载来自于:http://blog.itpub.net/31077337/viewspace-2214805/ 根据其官网最新消息,微软公布了SQL Server 2019预览版.在该预览中,SQL ...

  4. Microsoft SQL Server 2000整合规划

    Microsoft SQL Server 2000整合规划 更新日期: 2004年06月24日 SQL Server技术文章 作者:Allan Hirt 投稿人:Tom Davidson和Shaun ...

  5. SQL Server 2000 Service Pack 4 中所修复的 bug 的列表

    有关在 SQL Server 2000 Service Pack 4 已修复的 bug 的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: 314128  FIX: 一 ...

  6. 对比 SQL Server 2005 和 Oracle

    在 Microsoft Windows Server 上运行的 SQL Server 2005,为企业级关系数据库和分析解决方案提供了一个平台,在安全.可用性.与 Visual Studio 的整合度 ...

  7. SQL Server性能优化案例报告

    . 问题分析 1.1             现象描述 某企业客户内部知识管理系统基于微软SharePoint服务器产品并进行了应用扩展开发,NLB负载均衡部署,后台数据库采用SQL Server 2 ...

  8. Web API——添加Swagger、SQL Server、日志记录、导出到Excel和Docker

    目录 介绍 要求 1.创建一个新的Web API项目 2.将Swagger添加到项目 3.将项目连接到SQL Server数据库 4.登录到SQL Server 5.添加"导出到Excel& ...

  9. 将PowerShell连接到SQL Server

    介绍 (Introduction) PowerShell (aka Posh or just PS) is becoming more and more of a tool for operation ...

  10. sql server 群集_部署具有群集共享卷SQL Server –第2部分

    sql server 群集 In the other article in this series: Deploy SQL Server for failover clustering with Cl ...

最新文章

  1. Numpy 生成 Bool型数组、一维转多维数组reshape、多维转一维数组、替换数组元素、提取数组元素、数组交集、差集、过滤数组元素、二维数组反转行、交换数组维度
  2. 在Linux下和Windows下遍历目录的方法及如何达成一致性操作
  3. 计算机弹奏两只老虎爱跳舞,原神风物之诗琴乐谱大全
  4. python+opencv 给女朋友照片加上个性相框,学会等着她夸你。
  5. bzoj2957 奥妙重重的线段树
  6. Yii2.0 rules常用验证规则
  7. np.unique()官方文档分析以及举例
  8. 语义信息增强的激光雷达SLAM
  9. 很经典的独白,搞网络的童鞋们,你们懂得
  10. 罗永浩:当年签了 “流氓协议” 将公布这个恶劣投资者
  11. mysql sharding 方案_mysql sharding 方案 分库分表(sharding)系列(4)
  12. Ubuntu18.04LTS搭建nodejs环境和webStorm
  13. Git 基础(九)—— Failed to push some refs to git
  14. c#web页面显示弹窗_C# .NET弹出窗口
  15. Linux虚拟机中vim编辑器常用命令介绍(二)
  16. 英语中与数字有关的表达方式
  17. sql server 备份mysql_SQL Server远程数据库操作(备份、还原等)
  18. 怎么判断冠词用a还是an_如何判断单词前的冠词用a还是an
  19. 忍者必须死3系统拆解+测评
  20. 数据服务 开源方案技术选型

热门文章

  1. php datedif,Datedif函数全面解析及BUG分析
  2. 微软时间服务器同步错误,Windows Server 设置时间同步出错问题
  3. AUTOSAR岌岌可危?主机厂+Tier1+初创公司要“联手起义”
  4. 小,大:使用CSS fit-content
  5. android 数据永久删除,如何安全地彻底擦除Android
  6. CubeMX 5.5 修改HAL库库函数版本
  7. 三维动画在计算机上的应用,计算机图技术在三维动画中的应用.doc
  8. [Tableau] 销售团队绩效分析与相关策略指导
  9. windows 系统清理工具
  10. 手动打开与关闭软键盘