我有一个非常要好的同事,无数次帮我解决了业务上的痛。技术能力很强,业务方面也精通。而且更耐得住加班,并且是自愿加班,毫无怨言。不像我,6点到准时走人了。但就是这么一位兢兢业业的技术人,却一直没有升职加薪的机会,黯然神伤之下,只能离开,挺可惜。

在数据库承担了所有业务访问的重压下,团队决定用ElasticSearch来取代数据库上承载的搜索任务。在灰度上线之后,取得了很好的反响。于是,我从京东上一口气买了5本ElasticSearch的技术书,慢慢的啃起来。这位同事也来找我借书看,大家都知道的,我一般不轻易借书给别人。但对他倒是例外。我相信他能看得下去,能发挥出书的作用。我欣然答应。

没过一个礼拜,这哥们过来还书了。我借他的是其中一本操作性能强的书。所以这么快看完,也是出乎我的意料。我就随口问了句,“ES是不是很牛皮,给你点时间,百度你都能做出来了吧”。结果这哥们的一句话,彻底颠覆我对他的认识。“这没什么好看的,我就看了前几章。知道有这回事就行了。不就是SQL中的Like嘛。细节我都跳过了。”

我本以为我的黄氏看书法足够嚣张了,没想到还是败在了这哥们手上。

所以,看书真的只是从头到尾,扫一遍就可以的嘛?

这两个月我一直都在摸索大数据Spark组件的知识框架,从原理,搭建环境,到源码阅读,无所不包。书自然也看过很多,但值得花心思去看的,也就这么一本。它就是王家林的《Spark大数据商业实战三部曲:内核解密|商业案例|性能调优》。尤其是其中商业案例这部分足够吸引我。用个画来表达下

上面的框架或许过于复杂,那么我简单抽象成最小可执行单元

只有足够精彩的书,才能让我有画画的冲动。根据这幅画,我摸索着写出来所有实现画中细节的代码,也渐渐发现自己对Spark的掌握顺手了。

从最初级的RDD编程玩起,慢慢过渡到 Spark SQL, Spark DataFrame, Spark Streaming. 做了一系列顺畅运行的小例子,最终实现 Spark Streaming 吃进Kafka消息,并存盘MySQL.

代码这里我就省略了,基本都是从《Spark大数据商业实战三部曲》复制下来的,少许已经淘汰的 API,谷歌里百度下,也都能搞定。

最核心的就是Spark Stream消费程序,读取Kafka集群的消息:

  val kafkaParams = Map[String, Object]("bootstrap.servers" -> "192.168.1.8:9092","key.deserializer" -> classOf[StringDeserializer],"value.deserializer" -> classOf[StringDeserializer],"group.id" -> "spark_kafka_consumer_01","auto.offset.reset" -> "latest","enable.auto.commit" -> (false: java.lang.Boolean))val topic = Array("newbook")val stream = KafkaUtils.createDirectStream[String, String](sparkstreamcontext,PreferConsistent,ConsumerStrategies.Subscribe[String,String](topic, kafkaParams))

如果仔细看文档,这点代码量不会难倒你。

在这个过程中,再一次验证一个学习方法,对我来说非常有用,那就是从头到尾的读一本技术操作型的书,会让你失去很多乐趣。我的方法是尽快读完基础部分,然后找到最小实现单元,自己动手完成它。

在做实例的过程中,会碰到各种各样的问题,此时会逼着你去读各种各样的材料,代码,直到把例子做出来。好书,就像藏宝图。用心去寻找,总能给你惊喜。在实现本例的过程中,我在微信读书上参考了很多其他书,并且都做了标记和思考,有兴趣的朋友,可以加我好友,一起来讨论。

仅仅把书囫囵吞枣看完,只留个模糊概念,远远不够。毕竟对老板说,我读了某某书,你给我加钱,加工资,升职,是会被当做发痴的。优秀的程序员,只用代码说话。

--完--

光环大数据spark文档_推荐大数据Spark必读书目相关推荐

  1. api数据接口文档_接口文档示例(Taobao/jd/pinduoduo/开放接口调用)

    api数据接口文档_接口文档示例 本文主要是提供了一个接口文档的范文,内容修订历史.目录.时序图.接口要素描述.接口说明.使用示例.字典.FAQ.  使用MD格式文档(makedown),选择原因,容 ...

  2. datahub文档_实现datahub数据

    阿里云物联网平台数据转发到DataHub示例 概述 您可以使用规则引擎将数据转到DataHub上,再由DataHub将数据流转至实时计算.MaxCompute等服务中,以实现更多计算场景.本文主要演示 ...

  3. 什么插件格式化文档_推荐15款IntelliJ IDEA 神级插件

    满满的都是干货 所有插件都是在 ctrl+alt+s 里的plugins 里进行搜索安装 1.CodeGlance 代码迷你缩放图插件 2. Codota 代码提示工具,扫描你的代码后,根据你的敲击完 ...

  4. swagger 扫描java文档_推荐一款在运行时通过javadoc生成Swagger API文档的库

    介绍 一般,我们使用Springfox生成swagger api文档,但Springfox不支持从javadoc中生成,只能通过注解的方式标注文档. 这样,当共享一些POJO类时,为了同时生成java ...

  5. 计算机网络校园局域网课题,毕业论文基于VLAN技术的校园局域网建设word文档_全文免费在线阅读(推荐阅读)...

    <[毕业论文]基于VLAN技术的校园局域网建设.doc>由会员分享,可免费在线阅读全文,更多与<[毕业论文]基于VLAN技术的校园局域网建设(word文档)_全文免费在线阅读> ...

  6. 扫描二维码读取文档_使用深度学习读取和分类扫描的文档

    扫描二维码读取文档 To many people's dismay, there is still a giant wealth of paper documents floating out the ...

  7. 导出/导入DataPump参数TRACE - 如何诊断Oracle数据泵(文档 ID 286496.1)

    导出/导入DataPump参数TRACE - 如何诊断Oracle数据泵(文档 ID 286496.1) 1.介绍 在Oracle10g中,我们引入了新的数据库实用程序Export Data Pump ...

  8. 大模型时代下智能文档处理核心技术大揭秘

    ​强烈推荐一个大神的人工智能的教程:http://www.captainai.net/zhanghan 大模型时代下智能文档处理核心技术大揭秘 前言 一张图全览 文档图像分析与预处理 图像预处理的整体 ...

  9. java api文档_细说API – 文档和前后端协作

    在上一篇文章--<细说API – 重新认识RESTful>中介绍了如何理解和设计RESTful风格的API,现在我们来聊聊如何有效的呈现API文档,以及前后端协作的方式. 我经历过一些没有 ...

最新文章

  1. java实现计算机图形学中点画线算法
  2. 可视化神经机器翻译模型(基于注意力机制的Seq2seq模型)
  3. 腾讯AI Lab涂兆鹏:如何提升神经网络翻译的忠实度 | PhD Talk #22
  4. 通过调用API函数实现的无边框窗体的拖拽,比判断坐标更快捷
  5. 化浆池是什么东西_一种双工位浆化池的制作方法
  6. oracle group by 取最新的一条_大国智能制造全文免费阅读_大国智能制造最新章节_乌溪小道的小说...
  7. 靠谱测试人员需具备逻辑思考能力
  8. 最常见30种NLP任务练手项目汇总
  9. linux内核奇遇记之md源代码解读之一
  10. php布署 群辉_docker一键搭建Nginx+PHP环境(含自动部署命令)
  11. Java 实例变量 和 实例方法 以及调用
  12. 联想服务器没有安装iis组件,win10没有iis怎么安装_手把手教你安装iis的详细步骤...
  13. matlab 定步长积分,数值积分:基于牛顿-柯茨公式的定步长和自适应积分方法 [MATLAB]...
  14. 宝塔面板是干什么的?有哪些典型的功能作用?
  15. 程序员如何学习一门新技术?
  16. Ubuntu安装N卡驱动
  17. 案例分享:Qt+Arm+Fpga医疗肾镜(又名内窥镜)(实时影像、冻结、拍照、白平衡、九宫格、录像、背光调整、硬件光源调整、光源手动自动调整、物理按键)
  18. UR机器人(一):坐标系及位姿表示方法
  19. git 查看自己秘钥_git生成和检查秘钥操作
  20. springboot+社区快递代取服务系统毕业设计-附源码051434

热门文章

  1. android桌面小组件开发_快使用Scriptable自己开发一个iPhone小组件吧
  2. 外部中断0——51程序
  3. Comparable接口和Comparator接口的比较
  4. 仅完成部分的readprocessmemory或write_盘点2019年新能源车企销量目标完成率:广汽新能源超额完成/吉利、北汽紧随其后...
  5. 5.3.2 计算机网络传输层之TCP流量控制
  6. probable oracle net,ORA-28547: connection to server failed, probable Oracle Net admin error
  7. python3spark文本分类_如何用Spark深度集成Tensorflow实现文本分类?
  8. Linux 条件变量使用细节(为何调用 pthread_cond_wait 前加锁,函数内部解锁,返回时又加锁)
  9. 数据结构与算法 / 排序算法 / 堆排序
  10. TCP/IP / 状态转换图