热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Spark高难度对话SQLServer

在我们欢天喜地迎接超级长假的时候,地球的另半面拉斯维加斯正在进行着一场超级火爆的GIIS(GlobalInformationIndustrySummit)峰会。看名头,这是一场信息

在我们欢天喜地迎接超级长假的时候,地球的另半面拉斯维加斯正在进行着一场超级火爆的 GIIS (Global Information Industry Summit)峰会。看名头,这是一场信息领域的全球峰会,峰会的少不了 DB-Engines 公布的前 300 名 SQL 以及 NoSQL ,耳熟能详的有 Oracle, SQL Server, MySQL, PostgreSQL, DB2, Redis 等等。而近来大红大紫的 big data 领军人物,Hadoop, Spark, Hive, Flink 等也是悉数到场。

自费参加峰会的 L, 也是兴致勃勃,一改往日长假必远游的定律,来到拉斯维加斯。

奇怪的现场布置也是让 L 匪夷所思,巴洛克式的拉斯维加斯参会厅,足以容纳 20000 多家站台,今天却一切为二。

挂着红布的半边,是 Oracle, SQL Server 等商业巨头的阵营,各位负责人正装凛然,狗牌挂的一个比一个大,鼻子敲得一个高过一个。从他们飞扬的涂抹中,已然数据库的天下从来都是老子说了算。L 想靠近仔细看看各家的杀手锏,却被黑鬼保安拦了下来,一个大摆开的指着 Summit Introduction (入门须知)牌子,L 拿下他那因为长期熬夜写 SQL 而高度近视达 1200 度 的镜片,俨然还能看清须知上红色标红的参会价格 $1100. 虽然对 SQL 几乎痴迷,但这几近半个月薪水的价格,还是让他垂下了高扬的头。

举兴而来,败兴而归。

L 转了身,无奈的走向了另一边。这一边,满盘皆绿,绿色的欢迎布,绿色的小旗子,全是 NoSQL 大佬。仔细瞅了瞅,门口的指示牌,仅标了 Free 四个字母!“这便宜赚大了”,L 一个箭步冲了进去。

Cloudera, Hortonworks 两位占据了大门两侧。瞧那几位绿色妹子,肤白腿直,烟熏妆一个比一个妖娆,L 不禁想起来去年泰国之旅,尤其在芭东过的那一夜,永世难忘。

不知不觉 L 遛过了只有在书中才见过的 Hive, Spark, Flink,Kylin, Redis, 还有正在研究的 Elastic, MongoDB , 一堆尚未听说过的 Splunk, HAHA, Vertica, RocksDB.

虽然见不到熟知的 SQL Server 和 Oracle 大佬,但 big data 界的大佬都是见了个遍,也算没白花这个机票钱。L 逛得也累了,出来场子透透气,看到旁边的 Starbucks,顿时来了劲,早想尝一口美国正宗的星爸爸了,可不能错过。

刚嘬了两口的 L 再次来到绿色阵营门口,正好碰上 Spark 和 SQL Server 也出来透气,两人夹着烟,正你一句我一句的攀谈起来。

SQL Server: 小 S, 听说你最近动作很大啊。

Spark : 大 S, 哪有的事嘛。不过吃口饭而已。

说完,两人都失口大笑,L 看他们,觉得比兄弟还亲。

SQL Server: 小 S, 我们的很多老顾客说,你们很快。你说说,你们到底快在哪里了嘛?

Spark: 快是男人的必备技能,好吧。

SQL Server: 说正经的呢!

Spark: 你看看你们,都老了呢。不中用了吧。

SQL Server: 去,走了,聊不下去了。

Spark: 哈哈哈,好好好。 来支笔,我给你画一下。

L 看着 Spark 在白墙上,慢慢画出了这幅草图:

《Spark 高难度对话 SQL Server》
《Spark 高难度对话 SQL Server》

SQL Server: 这也不能说明什么问题吧

Spark: 你仔细看。 你家的分布式,顶多 8 台机,连着 Master 一起算,顶多9 台。那么这 9 台能否同一时间处理同一个数据集呢? 肯定是不行的,对吧。因为这些 机器之间的数据总是存在一定的延时窗口,同步的机器只能有 3 台,假定是 s1 状态,而另外几台机器都是存着 s0 的状态。 而我们家的集群就不一样了,要几台有几台,分分钟上线 1000 台也是小事。如果将 10T 数据均分到这些集群的机器上,并且都存在内存中做计算,你想快,这还是事儿嘛?

SQL Server: 难怪我们的部分客户都开始动摇了

Spark: 再想一想,你们那 sql server 一核心 $15000, 人家 10 核心就被成本整死了,搭上 windows server 一核心 $6000, 贸易战咯,钱不好赚啊。

SQL Server: 那你们的数据源来自哪里呢?把这些数据源均分到每台机器也不好算啊

Spark: 数据源都来自你们的库里啊。我们有 JDBC, 均分那是细节问题,配置一下分区就可以了。大 S , 我再给你画一张图,保你明白。

《Spark 高难度对话 SQL Server》
《Spark 高难度对话 SQL Server》

整个流程都明白了吧。就是这么简单,将你们的数据先定义好,分成多个线程来抽。只是怕线程开多了,把你们给堵死,哈哈。

SQL Server : 看上去好像很简单的样子嘛。来给我讲讲细节呗,比如你们是用什么接口语言来抓我们库里的数据啊,你们的 Master 是怎么调度那么多的 Job 呢?

Spark: 看家本领都 show 给你了,也不给我买杯星爸爸,不讲 。

SQL Server: 淘气!

Spark 头也不回,走掉了。。。留下 SQL Server 还在看着那两幅图,突然他想到了什么,掐掉烟赶紧跑回去了。

L 来到白墙前,打开 Mac, 在有道云笔记本上,开始写道:

在我们欢天喜地迎接超级长假的时候,地球的另半面拉斯维加斯正在进行着一场超级火爆的 GIIS (Global Information Industry Summit)峰会。。。

故事纯属虚构,您乐了就成


推荐阅读
  • 什么是大数据lambda架构
    一、什么是Lambda架构Lambda架构由Storm的作者[NathanMarz]提出,根据维基百科的定义,Lambda架构的设计是为了在处理大规模数 ... [详细]
  • 马蜂窝数据总监分享:从数仓到数据中台,大数据演进技术选型最优解
    大家好,今天分享的议题主要包括几大内容:带大家回顾一下大数据在国内的发展,从传统数仓到当前数据中台的演进过程;我个人认为数 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了logistic回归(线性和非线性)相关的知识,包括线性logistic回归的代码和数据集的分布情况。希望对你有一定的参考价值。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • Oracle Database 10g许可授予信息及高级功能详解
    本文介绍了Oracle Database 10g许可授予信息及其中的高级功能,包括数据库优化数据包、SQL访问指导、SQL优化指导、SQL优化集和重组对象。同时提供了详细说明,指导用户在Oracle Database 10g中如何使用这些功能。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
  • Python SQLAlchemy库的使用方法详解
    本文详细介绍了Python中使用SQLAlchemy库的方法。首先对SQLAlchemy进行了简介,包括其定义、适用的数据库类型等。然后讨论了SQLAlchemy提供的两种主要使用模式,即SQL表达式语言和ORM。针对不同的需求,给出了选择哪种模式的建议。最后,介绍了连接数据库的方法,包括创建SQLAlchemy引擎和执行SQL语句的接口。 ... [详细]
  • WhenIusepythontoapplythepymysqlmoduletoaddafieldtoatableinthemysqldatabase,itdo ... [详细]
  • 本文介绍了在MFC下利用C++和MFC的特性动态创建窗口的方法,包括继承现有的MFC类并加以改造、插入工具栏和状态栏对象的声明等。同时还提到了窗口销毁的处理方法。本文详细介绍了实现方法并给出了相关注意事项。 ... [详细]
  • Postgresql备份和恢复的方法及命令行操作步骤
    本文介绍了使用Postgresql进行备份和恢复的方法及命令行操作步骤。通过使用pg_dump命令进行备份,pg_restore命令进行恢复,并设置-h localhost选项,可以完成数据的备份和恢复操作。此外,本文还提供了参考链接以获取更多详细信息。 ... [详细]
  • 我知道那里有很多类似的问题,但我还没有找到任何与我的场景完全匹配的问题,所以请不要对重复标志太满意。我正在使用Spark3.0.1在AzureDatabrick ... [详细]
  • SparkRDD宽窄依赖及Stage划分
    1.术语解释:Master(Standalone):资源管理的主节点(进程)ClusterManager:在集群上获取资源的外部服务(例如standalone,Mesos,Yarn ... [详细]
  • LinkedHashMap如何保证有序
    我们常说linkedHashMap是有序的,这个有序也是分为两种的,分别是:插入顺序和访问顺序,我们可以通俗的认为ÿ ... [详细]
author-avatar
kk1049057
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有