讲解了网络大数据时代应运而生的、能高效迅捷地分析处理数据的工具——Spark,它带领读者快速掌握用 Spark 收集、计算、简化和保存海量数据的方法,学会交互、迭代和增量式分析,解决分区、数据本地化和自定义序列化等问题。
过程完整:从基础配置过程一直到真正的商业项目开发
例子丰富:90个“实例”,1 个完整项目
原理清晰:重点概念、操作、思路都有图示,避免抽象理解
代码详尽:所有实例都有详细的代码,所有代码都有详尽的解读
知识点新:包含Structured Streaming详解
阅读感好:采用短段、短句,可以流畅阅读
辐射面广:讲解了Spark与周边框架的交互
服务完善:读者可加入本书QQ学习群在线交流
Kotlin是JetBrains公司在2010年推出的一门基于JVM平台的编程语言。Kotlin代码在被编译为字节码文件后,可以在任何支持JVM的平台(包括Windows、Mac、Linux和各种嵌入式系统)上运行。目前,Kotlin语言除支持被编译为字节码文件外,还支持被编译为JavaScript文件,可以运行在浏览器端,是一门真正意义上的跨平台语言。
2014年,由于项目需要,我要找到一门与Java具有良好兼容性、能够直接调用Java类库来编写Android应用程序的JVM语言。在尝试了Groovy、Scala和Clojure等语言后,我发现,这些语言要么编译速度较慢,要么基础类库过大,并不适合用于移动端开发。最后我接触了当时还没有什么名气的Kotlin语言。那时我的感受是:这门语言拥有Scala语言的大部分常用功能,但是核心库却小了很多,可以更好地避免出现“方法数超限”等问题。但由于当时的版本还比较低,API变化非常频繁,最终我只是用Kotlin编写一些工具库及公司内部的应用程序,并没有将Kotlin语言运用到对外的完整项目中。在2017年5月的Google I/O大会上,Google宣布Kotlin将和Java一样作为Android的官方开发语言,我意识到时机已到,开始全面在项目中应用Kotlin。现在,我希望将这门出色的语言分享给更多的人。
本书综合了我的多年开发经验,写作上力求由浅入深,以“简洁的语言+大量实例”进行讲解,希望带给各个层次的读者一个较为轻松的学习体验。
本书特色
1. 读者无须有Java基础
考虑到部分读者没有太多的编程经验,因此书中对于很多编程基础知识都进行了相应的介绍。即使读者没有任何Java基础,也能顺利读懂本书。
2. 知识点全
本书针对Kotlin于2018年年底推出的1.3.0版本,不但讲解了大量官方文档中所没有的知识点,而且还讲解了Kotlin中部分直接由Java实现的功能的底层细节。
3. 合理的章节安排
本书结合了我多年学习各种编程语言的经验,采用由浅入深、层层递进的结构,可以帮助读者按照合理的顺序学习一个个知识点。读者在学完本书后,甚至可以按照这个结构自行学习其他任何编程语言。
4. 大量典型实例
本书除讲解基础语法外,也注重项目实战。每个知识点后面都至少有一个实例,以便帮助读者更好地理解和掌握。建议读者在学习知识点时,可以根据实例举一反三进行自主练习。
5. 每章都配有总结,便于复习
本书大部分章后都附带一个简短的小结。建议读者在学完一章后按照小结内容进行回顾,如果有遗忘的知识点立即进行复习。
本书读者对象
? 没有太多的编程经验,但是对Kotlin语言感兴趣的人;
? Java后台开发人员;
? 移动应用程序开发人员;
? 立志于“大前端”的前端开发人员;
? 有其他JVM编程语言经验的开发人员;
? 相关授课老师;
? 大中专院校的相关专业的学生。
本书需要的软/硬件支持
以下软件适用于本书的所有章节:
? Windows/macOS/Linux;
? Java 1.8;
? Kotlin 1.3.0以上;
? IntellJ IDEA 2018.3社区版以上。
在阅读到本书第5篇时,建议安装以下两个软件:
? Android Studio 3.2以上;
? Visual Studio Code 1.31.0以上。
本书对硬件没有特定要求,但由于Android Studio和IDEA都比较耗费内存,所以建议读者所使用的计算机物理内存最好大于4GB,这样在编写实例时可以有更好的编程体验。