得书 - 好书推荐、正版图书免费阅读
发现
热门
排行榜
VIP会员
🔍
➜
注册 | 登录
Spark SQL入门与数据分析实践
杨虹 谢显中 周前能 张安文编著
评分
0
(2 人读过)
2021 年出版
工业技术
¥27.89
免费读
VIP 专享
立即开始阅读
加入书架
已加书架
反馈
超值推荐:
首月9.9开通会员,本书及全站
10,000+
好书无限畅读。
开通会员 >
内容简介
本书共8章内容,由浅入深地讲解Spark SQL的基础知识、安装部署、编程基础、编程进阶、函数、性能调优技巧以及编程实践等知识。
展开全文
A-fy
Spark SQL入门与数据分析实践
55324-bq
C-qy
前言
D-ml
目录
01
Spark SQL基础知识
第1章
1.1 Spark SQL背景
1.2 Spark SQL简介
1.2.1 Spark SQL的特点
1.易集成
2.统一的数据访问
3.兼容Hive
4.标准的数据连接
1.2.2 Spark SQL的用途
1.2.3 Spark SQL的使用场景
1.3 为什么要学习Spark SQL
1.4 Spark SQL的原理
1.4.1 传统SQL的运行原理
1.投影
2.数据源
3.过滤
1.4.2 Spark SQL的运行原理
1.SQLContext的执行过程
2.HiveContext的执行过程
1.4.3 Spark SQL的开发步骤
1.数据源确定
2.数据类型映射
3.加载数据
4.数据处理
5.数据输出
1.5 Spark SQL的运行模式
1.5.1 Local模式
1.5.2 Standalone模式
1.5.3 OnYarn模式
1.Yarn-Client模式
2.Yarn-Cluster模式
小 结
习 题
02
Spark SQL安装部署
第2章
2.1 运行环境说明
2.1.1 操作系统说明
2.1.2 Java版本说明
2.1.3 Scala版本说明
2.1.4 操作系统客户端工具说明
2.2 运行环境准备
2.2.1 依赖下载
1.下载Java
2.下载Scala
2.2.2 安装Java
2.2.3 安装Scala
2.3 部署Spark SQL
2.3.1 下载安装包
2.3.2 单机部署
2.3.3 集群部署
2.3.4 运行环境参数
1.HADOOP_CONF_DIR
2.SPARK_EXECUTOR_INSTANCES
3.SPARK_EXECUTOR_CORES
4.SPARK_EXECUTOR_MEMORY
5.SPARK_DRIVER_MEMORY
6.SPARK_WORKER_CORES
7.SPARK_WORKER_MEMORY
8.SPARK_WORKER_INSTANCES
9.SPARK_WORKER_DIR
小 结
习 题
03
第一个Spark SQL应用程序
第3章
3.1 搭建开发环境
3.1.1 下载开发工具
3.1.2 安装IDEA
3.2 编写Spark SQL应用程序
3.2.1 Spark SQL应用程序的编写步骤
3.2.2 编写第一个Spark SQL应用程序
1.创建工程
2.创建Scala包
3.创建Scala类
4.开启Maven支持
5.通过Maven引入Spark SQL开发包
6.导入官方Spark SQL实例
3.2.3 运行第一个Spark SQL应用程序
1.在开发环境中运行Spark SQL应用程序
2.使用浏览器查看运行情况
3.查看Spark SQL各个Stage(阶段)的运行情况
4.查看Spark SQL应用程序的运行参数
5.查看Spark SQL应用程序运行时Executor的信息
6.查看Spark SQL应用程序的SQL执行信息
7.查看Spark SQL应用程序的运行结果
小 结
习 题
04
Spark SQL编程基础
第4章
4.1 RDD概述
4.1.1 RDD的优缺点
1.RDD的优点
2.RDD的缺点
4.1.2 RDD模型介绍
1.设计初衷
2.特性
3.血统和依赖
4.2 深入剖析RDD
4.2.1 Spark相关专业术语定义
1.Application
2.Driver
3.Cluster Manager
4.Executor
5.Worker
6.RDD
7.分区/分片
8.分区函数
9.RDD依赖
10.Partitioner
11.窄依赖
12.宽依赖
13.DAG
14.DAGScheduler
15.TaskScheduler
16.JOB
17.Stage
18.TaskSet
19.Task
4.2.2 Spark Application的构成
4.2.3 Spark运行的基本流程
4.2.4 Spark运行架构的特点
1.专属Executor进程
2.支持多种资源管理器
3.JOB就近提交原则
4.移动程序而非移动数据原则
4.2.5 Spark核心原理
1.计算流程
2.从代码构建DAG
3.DAG划分Stage核心算法
4.DAG划分Stage剖析
5.Stage调度
6.监控
7.获取任务执行结果
8.任务调度总体诠释
4.3 创建RDD
1.基于一个已经存在的Scala集合
2.基于文本文件创建
3.基于HDFS文件创建
4.基于HBase创建
4.4 RDD操作
4.4.1 RDD转换操作
1.基础转换操作
2.键值转换操作
3.排序转换操作
4.4.2 RDD控制操作
1.cache
2.persist
3.unpersist
4.checkpoint
4.4.3 RDD行动操作
1.foreach
2.foreachPartition
3.reduce
4.collect
5.count
6.take
7.top
8.takeOrdered
9.first
10.lookup
11.countByKey
12.countByValue
13.reduceByKeyLocally
14.fold
15.saveAsTextFile
16.saveAsObjectFile
17.saveAsNewAPIHadoopFile
18.saveAsNewAPIHadoopDataset
4.5 RDD持久化
4.5.1 持久化优势
1.一次计算多次使用
2.显著提升性能
3.自动容错
4.多实现方式
5.自动实现
4.5.2 持久化策略
1.MEMORY_ONLY
2.MEMORY_AND_DISK
3.MEMORY_ONLY_SER
4.MEMORY_AND_DSK_SER
5.DISK_ONLY
6.MEMORY_ONLY_2或者MEMORY_AND_DISK_2等
4.6 RDD容错机制
4.6.1 lineage机制
1.简介
2.两种依赖关系
3.依赖关系的特性
4.6.2 checkpoint机制
1. 简介
2.写流程
3.读流程
小 结
习 题
05
Spark SQL编程进阶
第5章
5.1 概述
5.2 SparkSession
5.2.1 SparkSession介绍
5.2.2 创建SparkSession
5.2.3 SparkSession参数设置
5.2.4 SparkSession元信息读取
5.3 DataFrame
5.3.1 深入理解DataFrame
5.3.2 DataFrame的优缺点
1.优点
2.缺点
5.3.3 DataFrame的演变过程
1.MR编程模型→DAG编程模型
2.DAG编程模型→DataFrame编程模型
5.3.4 DataFrame的使用形式
5.3.5 创建DataFrame
1.基于Scala数据集创建DataFrame
2.基于RDD创建DataFrame
3.基于TXT格式数据创建DataFrame
4.基于CSV格式数据创建DataFrame
5.基于JSON格式数据创建DataFrame
6.基于ORC格式数据创建DataFrame
7.基于Parquet格式数据创建DataFrame
8.基于JDBC数据创建DataFrame
9.基于HBase数据创建DataFrame
10.基于Hive数据创建DataFrame
11.基于MongoDB数据创建DataFrame
5.3.6 DataFrame操作
1.DataFrame操作快速体验
2.Transformations操作
3.Actions操作
4.cache操作
5.persist操作
6.unpersist操作
7.createOrReplaceTempView操作
8.强大的SQL查询操作
5.3.7 DataFrame持久化
1.持久化为TXT格式数据
2.持久化为CSV格式数据
3.持久化为JSON格式数据
4.持久化为ORC格式数据
5.持久化为Parquet格式数据
6.持久化至JDBC连接的数据库
7.持久化至HBase数据库
8.持久化至Hive数据仓库
5.3.8 DataFrame实例
1.DataFrame实例1
2.DataFrame实例2
3.DataFrame实例3
4.DataFrame实例4
5.DataFrame实例5
5.4 DataSet
5.4.1 深入理解DataSet
5.4.2 DataSet的优点
5.4.3 创建DataSet
5.4.4 DataSet操作
5.4.5 DataSet持久化
5.5 数据抽象的共性与区别
5.5.1 3种数据抽象的共性
5.5.2 3种数据抽象的区别
1.RDD
2.DataFrame
3.DataSet
5.6 数据抽象的相互转换
5.6.1 将RDD转换为DataFrame
5.6.2 将DataFrame转换为DataSet
5.6.3 将DataSet转换为DataFrame
小 结
习 题
06
Spark SQL函数
第6章
6.1 用户定义函数
6.1.1 注册UDF
6.1.2 使用UDF
6.1.3 UDF实例
1.测试数据准备
2.创建SparkSession
3.注册自定义函数splitStr
4.基于测试数据创建DataFrame
5.通过SQL语句使用自定义函数splitStr
6.2 用户定义聚合函数
6.2.1 注册UDAF
6.2.2 使用UDAF
6.2.3 UDAF实例
1.测试数据准备
2.创建SparkSession
3.实现UDAF类
4.注册自定义聚合函数mycount
5.基于测试数据创建DataFrame
6.通过SQL语句使用自定义聚合函数mycount
6.3 常用内置函数
小 结
习 题
07
Spark SQL性能调优
第7章
7.1 概述
7.1.1 木桶原理
7.1.2 阿姆达尔定律
7.2 并行度调优
7.2.1 什么是并行度
7.2.2 为什么需要对并行度进行调优
7.2.3 如何合理设置并行度
1.调整spark.default.parallelism参数
2.调整spark.sql.shuffle.partitions参数
3.当数据输入源为HDFS文件时,可以调整HDFS文件块的大小
4.使用repartition方法重分区
7.3 内存调优
7.3.1 为什么需要对内存进行调优
7.3.2 如何充分使用内存
1.在独立运行(Standalone)模式下运行参数调整
2.调整spark.storage.memoryFraction参数
3.调整spark.shuffle.memoryFraction参数
4.调整spark.sql.inMemoryColumnStorage.compressed参数
5.调整spark.sql.inMemoryColumnStorage.batchSize参数
6.调整spark.sql.parquet.compressed.codec参数
7.合适的数据类型
8.其他建议
7.4 磁盘I/O调优
7.4.1 为什么需要对磁盘I/O进行调优
7.4.2 如何充分使用磁盘I/O
1.高效的数据格式
2.数据尽可能本地化计算
3.合适的数据列
4.合理的I/O缓冲大小
7.5 网络I/O调优
7.5.1 为什么需要对网络I/O进行调优
7.5.2 如何充分使用网络I/O
1.选择高效的序列化器
2.减少网络传输次数
3.压缩数据
小 结
习 题
08
Spark SQL编程实践
第8章
8.1 Spark SQL实践一——学生考试信息分析
8.2 Spark SQL实践二——生鲜电商交易数据分析
1.2019年商品交易量TOP5
2.2019年商品交易量TOP5中每个品类交易量最大的区域
8.3 Spark SQL实践三——四川省新生婴儿信息分析
1.实现需求一的SQL语句
2.实现需求二的SQL语句
3.实现需求三的SQL语句
1.需求一结果
2.需求二结果
3.需求三结果
小 结
FL
附录
附录1 常用内置函数
附录1.1 常用聚合函数
1.count:计数函数
2.max:最大值函数
3.min:最小值函数
4.sum:求和函数
5.avg:平均值函数
6.first:第一个记录值函数
7.last:最后一个记录值函数
8.collect_list:在分组中聚合指定字段的值到list函数
9.collect_set:聚合指定字段的值到set函数
附录1.2 常用排序函数
1.asc:正序函数
2.asc nulls first:正序null排最前函数
3.asc nulls last:正序null排最后函数
4.desc:倒序函数
5.desc nulls first:倒序null排最前函数
6.desc nulls last:倒序null排最后函数
附录1.3 常用字符串函数
1.concat:连接多列字符串函数
2.initcap:单词首字母大写函数
3.lower:转小写函数
4.upper:转大写函数
5.instr:子字符串第一次出现的位置函数
6.locate:子字符串第一次出现的位置函数
7.length:字符串长度函数
8.lpad:字符串左填充函数
9.rpad:字符串右填充函数
10.trim:去除左右两边的指定字符函数
11.ltrim:去除左边指定字符函数
12.rtrim:去除右边指定字符函数
13.regexp_extract:正则提取匹配的组函数
14.regexp_replace:正则替换函数
15.repeat:将字符串重复n次后返回函数
16.reverse:反转函数
17.split:表达式分隔函数
18.substring:截取字符串函数
附录1.4 常用时间函数
1.current_date:当前日期函数
2.current_timestamp:当前时间戳函数
3.date_format:日期格式化函数
4.to_date:字段类型转为日期类型函数
5.date_add:日期增加天数函数
6.date_sub:日期减少天数函数
7.add_months:日期增加月函数
8.datediff:两日期间隔天数函数
9.months_between:两日期间隔月数函数
10.dayofmonth:日期在一月中的天数函数
11.weekofyear:日期在一年中的周数函数
12.dayofyear:日期在一年中的天数函数
13.second:获取秒数函数
14.minute:获取分钟数函数
15.hour:获取小时数函数
16.month:获取月份数函数
17.quarter:获取季度函数
18.year:获取年份函数
附录1.5 常用数学函数
1.bround:舍入函数
2.round:四舍五入函数
3.ceil:向上舍入函数
4.floor:向下舍入函数
5.cos:余弦函数
6.sin:正弦函数
7.tan:正切函数
8.pow:幂函数
9.log:对数函数
附录1.6 常用集合函数
1.size:长度函数
2.sort_array:排序函数
3.array_contains:检查array类型字段中是否包含指定元素函数
4.map_keys:返回map的键组成的array函数
5.map_values:返回map的值组成的array函数
6.explode:展开array或map为多行函数
7.explode_outer:展开array或map为带null的多行函数
附录1.7 其他常用函数
1.abs:绝对值函数
2.rand:随机数函数
3.array:多列合并为Array函数
4.map:将多列数据合并为Map函数
5.md5:计算MD5摘要函数
6.hash:计算hash code函数
7.isnull:检查是否为null函数
附录2 常用高阶函数
附录2.1 transform函数
附录2.2 aggregate函数
附录2.3 filter函数
附录2.4 exists函数
附录2.5 zip_with函数
附录3 术语解释
展开全部
版权信息
出版社:人民邮电出版社
出版时间:2021
作者:杨虹 谢显中 周前能 张安文编著
温馨提示:
1.本电子书已获得正版授权,由出版社通过知传链发行。
2.该电子书为虚拟物品,付费之后概不接收任何理由退款。电子书内容仅支持在线阅读,不支持下载。
3.您在本站购买的阅读使用权仅限于您本人阅读使用,您不得/不能给任何第三方使用,由此造成的一切相关后果本平台保留向您追偿索赔的权利!版权所有,后果自负!
得书感谢您对《
Spark SQL入门与数据分析实践
》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。
实时热榜
Hot
查看全部 >
1
认知觉醒:开启自我改变的原动力
周岭
2
被讨厌的勇气
岸见一郎
3
自渡
墨多先生
读过此书的人也喜欢
TensorFlow深度学习基础与应用
杨虹 谢显中 周前能 王智鹏 张安文编著
立即试读 >
Python数据分析入门与实战
开课吧组编 杨国俊 张植皓 潘海超 等编著
立即试读 >
基于机器学习的工作流活动推荐
著
立即试读 >
MySQL数据库运维与管理(微课版)
邓文达
立即试读 >
Python程序设计——编程基础、Web开发及数据分析
李辉 刘洋 编著
立即试读 >
Hadoop+Spark大数据技术
曾国荪 曹洁 编著
立即试读 >
读者好评
查看更多真实评价 >
Spark SQL入门与数据分析实践
免费读
(VIP)
开通会员,更多好书免费读
单本购买 ¥27.89
意见反馈
我的书架
公众号
关注微信公众号