第1章 Spark Streaming 概述1.1 什么是 Spark Streaming1.2 为什么要学习 Spark Streaming1.3 Spark 与 Storm 的对比第2章 运行 Spark Streaming第3章 架构与抽象第4章 Spark Streaming 解析4.1 初始化 StreamingContext4.2 什么是 DStreams4.3 DStream 的输入4.3.1 基本数据源4.3.2 高级数据源4.4 DStream 的转换4.4.1 无状态转化操作…
========== Spark Streaming 是什么 ==========1.SPark Streaming 是 Spark 中一个组件,基于 Spark Core 进行构建,用于对流式进行处理,类似于 Storm.2.Spark Streaming 能够和 Spark Core.Spark SQL 来进行混合编程.3.Spark Streaming 我们主要关注:  (1)Spark Streaming 能接受什么数据? kafka.flume.HDFS.Twitter 等.  (2)…
第1章 Spark 概述1.1 什么是 Spark1.2 Spark 特点1.3 Spark 的用户和用途第2章 Spark 集群安装2.1 集群角色2.2 机器准备2.3 下载 Spark 安装包2.4 配置 Spark Standalone 模式2.5 配置 Spark History Server2.6 配置 Spark HA2.7 配置 Spark Yarn 模式第3章 执行 Spark 程序3.1 执行第一个 spark 程序3.2 Spark 应用提交3.3 Spark shell3…
第1章 Spark SQL 概述1.1 什么是 Spark SQL1.2 RDD vs DataFrames vs DataSet1.2.1 RDD1.2.2 DataFrame1.2.3 DataSet1.2.4 三者的共性1.2.5 三者的区别第2章 执行 Spark SQL 查询2.1 命令行查询流程2.2 IDEA 创建 Spark SQL 程序第3章 Spark SQL 解析3.1 新的起始点 SparkSession3.2 创建 DataFrames3.3 DataFrame 常用操…
第1章 Spark GraphX 概述1.1 什么是 Spark GraphX1.2 弹性分布式属性图1.3 运行图计算程序第2章 Spark GraphX 解析2.1 存储模式2.1.1 图存储模式2.1.2 GraphX 存储模式2.2 vertices.edges 以及 triplets2.2.1 vertices2.2.2 edges2.2.3 triplets2.3 图的构建2.3.1 构建图的方法2.3.2 构建图的过程2.4 计算模式2.4.1 BSP 计算模式2.4.2 图操作一…
1.RDD 全称 弹性分布式数据集 Resilient Distributed Dataset它就是一个 class. abstract class RDD[T: ClassTag](    @transient private var _sc: SparkContext,    @transient private var deps: Seq[Dependency[_]]  ) extends Serializable with Logging { 继承了 Serializable 和具有 L…
========== Spark SQL ==========1.Spark SQL 是 Spark 的一个模块,可以和 RDD 进行混合编程.支持标准的数据源.可以集成和替代 Hive.可以提供 JDBC.ODBC 服务器功能. 2.Spark SQL 的特点:  (1)和 Spark Core 的无缝集成,可以在写整个 RDD 应用的时候,配合 Spark SQL 来实现逻辑.  (2)统一的数据访问方式,Spark SQL 提供标准化的 SQL 查询.  (3)Hive 的集成,Spark…
1.准备安装包 2.Spark Standalone 即独立模式  2.1.解压安装包到你安装的目录.  2.2.拷贝 conf 目录下的 slaves 文件,将 slave 节点的 hostname 写在文件中,每行一个.  2.3.拷贝 conf 目录下的 spark-env.sh 文件,将 SPARK_MASTER_HOST 和 SPARK_MASTER_PORT 指定.  2.4.分发你的 spark 安装目录到其他节点.  2.5.在 master 节点上执行 /opt/module/…
第一章 Scala 语言概述1.1 why is Scala 语言?1.2 Scala 语言诞生小故事1.3 Scala 和 Java 以及 jvm 的关系分析图1.4 Scala 语言的特点1.5 Windows 下搭建 Scala 开发环境1.6 Linux 下搭建 Scala 开发环境1.7 Scala 的开发工具1.7.1 IDEA介绍1.7.2 Scala 插件安装1.8 Scala 的开发快速入门1.8.1 windows 下开发步骤1.8.2 linux 下开发步骤1.8.3 ID…
第1章 Flume概述1.1 Flume定义1.2 Flume组成架构1.2.1 Agent1.2.2 Source1.2.3 Channel1.2.4 Sink1.2.5 Event1.3 Flume拓扑结构1.4 Flume Agent内部原理1.5 Hadoop三大发行版本第2章 Flume快速入门2.1 Flume安装地址2.2 安装部署第3章 Flume企业开发案例3.1 监控端口数据官方案例3.2 实时读取本地文件到HDFS案例3.3 实时读取目录文件到HDFS案例3.4 单数据源多…
第五章 函数式编程-基础5.1 函数式编程内容说明5.1.1 函数式编程内容5.1.2 函数式编程授课顺序5.2 函数式编程介绍5.2.1 几个概念的说明5.2.2 方法.函数.函数式编程和面向对象编程关系分析图5.2.3 函数式编程小结5.3 为什么需要函数5.4 函数的定义5.4.1 函数的定义5.4.2 快速入门案例5.5 函数的调用机制5.5.1 函数的调用过程5.5.2 函数的递归调用5.5.3 递归练习题5.6 函数注意事项和细节讨论5.7 函数练习题5.8 过程5.8.1 基本概念…
第十一章 数据结构(下)-集合操作11.1 集合元素的映射-map11.1.1 map 映射函数的操作11.1.2 高阶函数基本使用案例1+案例211.1.3 使用 map 映射函数来解决11.1.4 模拟实现 map 映射函数的机制11.1.5 课堂练习11.2 集合元素的扁平-flatMap11.3 集合元素的过滤-filter11.4 集合元素的化简-reduce11.5 集合元素的折叠-fold11.6 集合元素的扫描-scan11.7 集合的综合应用案例11.8 集合的合并-zip11…
第8章 压缩和存储(Hive高级)8.1 Hadoop源码编译支持Snappy压缩8.1.1 资源准备8.1.2 jar包安装8.1.3 编译源码8.2 Hadoop压缩配置8.2.1 MR支持的压缩编码8.2.2 压缩参数配置8.3 开启Map输出阶段压缩8.4 开启Reduce输出阶段压缩8.5 文件存储格式8.5.1 列式存储和行式存储8.5.2 TextFile格式8.5.3 Orc格式8.5.4 Parquet格式8.5.5 主流文件存储格式对比实验8.6 存储和压缩结合8.6.1 修…
第6章 HBase API 操作6.1 环境准备6.2 HBase API6.2.1 判断表是否存在6.2.2 抽取获取 Configuration.Connection.Admin 对象的方法以及关闭资源的方法6.2.3 创建表(admin)6.2.4 删除表(admin)6.2.5 向表中插入数据(put)6.2.6 删除多行数据(delete)6.2.7 获取所有数据(scan)6.2.8 获取某一行数据(get)6.2.9 获取某一行指定“列族:列”的数据(get)6.3 MapRedu…
第十章 数据结构(上)-集合10.1 数据结构特点10.1.1 Scala 集合基本介绍10.1.2 可变集合和不可变集合举例10.2 Scala 不可变集合继承层次一览图10.2.1 图10.2.2 小结10.3 Scala 可变集合继承层次一览图10.3.1 图10.3.2 小结10.4 数组-定长数组(声明泛型)10.4.1 第一种方式定义数组10.4.2 第二种方式定义数组10.5 数组-变长数组(声明泛型)10.5.1 变长数组分析小结10.5.2 定长数组与变长数组的转换10.5.3…
第10章 Hive实战之谷粒影音10.1 需求描述10.2 项目10.2.1 数据结构10.2.2 ETL原始数据10.3 准备工作10.3.1 创建表10.3.2 导入ETL后的数据到原始表10.3.3 向ORC表插入数据10.4 业务分析10.4.1 统计视频观看数Top1010.4.2 统计视频类别热度Top1010.4.3 统计出视频观看数最高的20个视频的所属视频类别以及对应视频类别的个数10.4.4 统计视频观看数Top50所关联视频的所属类别rank10.4.5 统计每个类别中的视…
一 概述1.1 为什么需要工作流调度系统1.2 常见工作流调度系统1.3 各种调度工具特性对比1.4 Azkaban 与 Oozie 对比二 Azkaban(阿兹卡班) 介绍三 Azkaban 安装部署3.1 安装前准备3.2 安装 azkaban3.2 创建 SSL 配置3.3 时间同步配置3.4 配置文件3.4.1 Web 服务器配置3.4.2 执行服务器配置3.5 启动 web 服务器3.6 启动执行服务器四 Azkaban 实战4.1 Command 类型之单 job 工作流案例4.2…
第十九章 Scala语言的数据结构和算法19.1 数据结构(算法)的介绍19.2 看几个实际编程中遇到的问题19.2.1 一个五子棋程序19.2.2 约瑟夫问题(丢手帕问题)19.2.3 其它常见算法问题19.3 稀疏数组 sparsearray19.3.1 基本介绍19.3.2 应用实例19.3.3 课后练习19.4 队列 queue19.4.1 队列的一个使用场景19.4.2 队列介绍19.4.3 数组模拟单向队列19.4.4 数组模拟环形队列19.5 链表 linked list19.5.…
第1章 HBase 简介1.1 什么是 HBase1.2 HBase 特点1.3 HBase 架构1.3 HBase 中的角色1.3.1 HMaster1.3.2 RegionServer1.3.3 其他组件第2章 HBase 安装2.1 Zookeeper 正常部署2.2 Hadoop 正常部署2.3 HBase 的解压2.4 HBase 的配置文件2.5 HBase 远程发送到其他集群2.6 HBase 服务的启动2.7 查看 HBase 页面第3章 HBase Shell 操作3.1 基本…
第二章 变量2.1 变量是程序的基本组成单位2.2 Scala 变量的介绍2.2.1 概念2.2.2 Scala 变量使用的基本步骤2.3 Scala 变量的基本使用2.4 Scala 变量使用说明2.4.1 变量声明基本语法2.4.2 注意事项2.5 Scala 程序中 +号 的使用2.6 Scala 数据类型2.6.1 scala 数据类型体系一览图2.6.2 scala 数据类型列表2.7 整数类型2.7.1 基本介绍2.7.2 整型的类型2.7.3 整型的使用细节2.8 浮点类型2.8.…
第1章 Oozie 的简介第2章 Oozie 的功能模块介绍2.1 模块2.2 常用节点第3章 Oozie 的部署3.1 部署 Hadoop(CDH版本的)3.1.1 解压缩 CDH 版本的 hadoop3.1.2 修改 CDH 版本的 Hadoop 配置3.1.3 格式化 CDH 版的 Hadoop 集群3.1.4 启动 CDH 版的 Hadoop 集群3.2 部署 Oozie3.2.1 解压 Oozie3.2.2 在 oozie 根目录下解压 oozie-hadooplibs-4.0.0-c…
第七章 面向对象编程-中级7.1 包7.1.1 Java 中的包7.1.2 Scala 中的包7.1.3 Scala 包的特点概述7.1.4 Scala 包的命名7.1.5 Scala 会自动引入的常用包7.1.6 Scala 包注意事项和使用细节7.1.7 包对象7.1.8 包对象的底层实现机制分析(重点)7.1.9 包对象的注意事项7.2 包的可见性7.2.1 回顾 Java 包的可见性7.2.2 Scala 中包的可见性介绍7.2.3 Scala 中包的可见性和访问修饰符的使用7.3 包的…
第八章 面向对象编程-高级8.1 静态属性和静态方法8.1.1 静态属性-提出问题8.1.2 基本介绍8.1.3 伴生对象的快速入门8.1.4 伴生对象的小结8.1.5 最佳实践-使用伴生对象解决小孩游戏问题8.1.6 伴生对象-apply 方法8.2 单列对象8.3 接口8.3.1 回顾 Java 接口8.3.2 Scala 接口的介绍8.3.3 trait 的声明8.3.4 Scala 中 trait 的使用8.4 特质 trait8.4.1 特质的快速入门案例分析8.4.2 代码完成8.4…
第十三章 函数式编程-高级13.1 偏函数(partial function)13.1.1 提出一个需求,引出思考13.1.2 解决方式-filter + map 返回新的集合13.1.3 解决方式-模式匹配13.1.4 偏函数的基本介绍13.1.5 偏函数的快速入门13.1.6 偏函数的小结13.1.7 偏函数的简写形式13.2 作为参数的函数13.3 匿名函数13.4 高阶函数(higher-order function)13.5 参数(类型)推断13.6 闭包(closure)13.7 函…
搭建Hadoop 2.x分布式集群 1.Hadoop集群角色分配 2.上传Hadoop并解压 在centos01中,将安装文件上传到/opt/softwares/目录,然后解压安装文件到/opt/modules/ cd /opt/softwares/ tar -zxf hadoop-2.9.2.tar.gz -C /opt/modules/ 3.配置环境变量 只需配置centos01节点即可,后续可通过远程复制. a.修改文件/etc/profile sudo nano /etc/profile…
第0章 预备知识0.1 Scala0.1.1 Scala 操作符0.1.2 拉链操作0.2 Spark Core0.2.1 Spark RDD 持久化0.2.2 Spark 共享变量0.3 Spark SQL0.3.1 RDD.DataFrame 与 DataSet0.3.2 DataSet 与 RDD 互操作0.3.3 RDD.DataFrame 与 DataSet 之间的转换0.3.4 用户自定义聚合函数(UDAF)0.3.5 开窗函数0.4 Spark Streaming0.4.1 Dst…
1 大数据概述 大数据特性:4v volume velocity variety value 即大量化.快速化.多样化.价值密度低 数据量大:大数据摩尔定律 快速化:从数据的生成到消耗,时间窗口小,可用于生成决策的时间非常少:1秒定律,这和传统的数据挖掘技术有着本质区别(谷歌的dremel可以在1秒内调动上千台服务器处理PB级数据) 价值密度低,商业价值高 大数据影响: 对科学研究影响:出现科学研究第四方式数据(前三个分别是实验.理论.计算) 对思维方式影响:全样而非抽样.效率而非准确.相关而非…
[摘要] 知乎上一篇很不错的科普文章,介绍大数据技术生态圈(Hadoop.Hive.Spark )的关系. 链接地址:https://www.zhihu.com/question/27974418 [问题] 如何用形象的比喻描述大数据的技术生态?Hadoop.Hive.Spark 之间是什么关系? [答案1] 学习很重要的是能将纷繁复杂的信息进行归类和抽象. 对应到大数据技术体系,虽然各种技术百花齐放,层出不穷,但大数据技术本质上无非解决4个核心问题. 1.存储,海量的数据怎样有效的存储?主要包…
目前大数据已经成为了各家互联网公司的核心资产和竞争力了,其实不仅是互联网公司,包括传统企业也拥有大量的数据,也想把这些数据发挥出作用.在这种环境下,大数据技术的重要性和火爆程度相信没有人去怀疑. 而AI人工智能又是基于大数据技术基础上发展起来的,大数据技术已经很清晰了,但是AI目前还未成熟啊,所以本文就天马行空一下,从大数据的技术变迁历史中来找出一些端倪,猜一猜AI人工智能未来的发展. 最近断断续续的在看<极客时间>中「 从0开始学大数据 」专栏的文章,受益匪浅,学到了很多.尤其是非常喜欢作者…
除Hadoop外的9个大数据技术: 1.Apache Flink 2.Apache Samza 3.Google Cloud Data Flow 4.StreamSets 5.Tensor Flow 6.Apache NiFi 7.Druid 8.LinkedIn WhereHows 9.Microsoft Cognitive Services Hadoop是大数据领域最流行的技术,但并非唯一.还有很多其他技术可用于解决大数据问题.除了Apache Hadoop外,另外9个大数据技术也是必须要了…