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 来代替了。

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

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

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

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

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

  3. Microsoft SQL Server 2000整合规划

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

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

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

  5. 对比 SQL Server 2005 和 Oracle

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

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

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

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

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

  8. 将PowerShell连接到SQL Server

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

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

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

最新文章

  1. AMD真龙一族网络社区成立
  2. Android系统服务
  3. system.img解包打包工具_好程序员云计算学习路线分享文件打包及压缩
  4. MySQL排序查询介绍
  5. Servlet详解之两个init方法的作用
  6. 有赞大数据平台安全建设实践
  7. 必备知识:大数据处理应遵循的原则
  8. 【知识总结】多项式全家桶(一)(NTT、加减乘除和求逆)
  9. count和distinct如何一起使用_轻松玩转乐高积木:教你如何使用颗粒分离器
  10. 单页面响应式模板:黑石
  11. Windows 8正式版亮点与新功能抢先看
  12. 远景html制造机模板,台式机ALC892制作仿冒appleHDA的教程,前置MIC自动检测。
  13. HTML的DOCTYPE是什么意思
  14. 摩斯password
  15. elasticsearch7.x catAPI之indices
  16. 最新论文笔记(+12):Searching an Encrypted Cloud Meets Blockchain: A decentralized, Reliable and Fair Realiz
  17. 【论文翻译】Playing Atari with Deep Reinforcement Learning
  18. [Job服务] - 自定义计划任务服务
  19. 程序员自我修养阅读笔记——运行库
  20. Zotero文献管理

热门文章

  1. opencv手势识别(2_KNN算法识别)
  2. MAC:更新失败无法进系统的解决方案
  3. 中国天气预报,天气现象要素说明
  4. AI 作图绘画的软件和网址
  5. 获取天气预报ajax,Ajax 通过城市名获取数据(全国天气预报API)
  6. 教师节到了,用Python做了个非常好用的学生点名系统
  7. 北京小学 计算机派位,北京小升初东西海朝4区电脑派位规则汇总 2021家长必看...
  8. 什么从什么写短句_什么从什么造句一年级如何造
  9. 经典的损人的话  (不带一个脏字,够狠毒)
  10. Apache Log4j 远程代码注入漏洞