| 作者 |
| 王宏志 何震瀛 王鹏 李春静王恺 王志 李涛 朱洪文 |
| 丛书名 |
| 数据科学与工程技术丛书 |
| 出版社 |
| 机械工业出版社 |
| ISBN |
| 9781912181645 |
| 简要 |
| 简介 |
| 内容简介书籍计算机书籍 ---------------------------大数据管理系统原理与技术--------------------------- 本书系统介绍了常用的面向大数据的数据库管理系统的原理和技术,包括关系数据库、非关系型数据库、HIVE、Hbase、Redies等,使读者在了解大数据的数据库管理系统基本原理的基础上,能根据实际的问题和应用场景选择、搭建适合的数据库管理系统。 ---------------------------Python语言程序设计--------------------------- 本书系统讲解Python程序设计语言以及基本程序设计、实现和调试方法等基础知识,通过概念引入、直观示例和错误分析等方法,使读者在全面了解Python技术历史、现状与发展趋势的基础上,能够系统地掌握Python基本概念、编程思想以及程序设计技术,具备熟练的Python编程技能和面向对象软件设计技术思想。 |
| 目录 |
---------------------------大数据管理系统原理与技术--------------------------- 本书编委会 前言 第1章 绪论 1 1.1 大数据的基本概念 1 1.2 数据库管理系统 5 1.2.1 数据库管理系统的基本概念 5 1.2.2 数据库管理系统的发展历史 6 1.2.3 数据库管理系统的要素 10 1.3 大数据对数据库管理系统的需求和挑战 13 1.4 本书结构 14 第2章 关系型数据库管理系统 15 2.1 关系数据库概述 15 2.1.1 关系模型 15 2.1.2 关系数据的存储 17 2.1.3 关系数据库的索引 20 2.1.4 关系数据库中的查询处理算法 24 2.1.5 并发控制 25 2.1.6 数据库恢复 34 2.2 关系数据库MySQL概述 35 2.3 MySQL应用 36 2.3.1 SQL概述 36 2.3.2 数据定义语句 37 2.3.3 数据处理语句 38 2.3.4 事务和锁定声明 39 2.3.5 其他 45 2.4 存储过程 46 2.4.1 概述 46 2.4.2 建立存储过程 47 2.4.3 调用存储过程 49 2.4.4 查询存储过程 50 2.4.5 删除存储过程 50 2.5 视图 51 2.6 分区 53 2.7 复制 57 2.8 MySQL的Java客户端JDBC 62 2.8.1 JDBC概述 62 2.8.2 JDBC API 63 2.8.3 Java通过JDBC API操作MySQL 66 第3章 数据仓库Hive 72 3.1 数据仓库概述 72 3.1.1 数据仓库的概念和特征 72 3.1.2 数据仓库的体系结构 73 3.1.3 数据仓库的模型 74 3.1.4 数据仓库关键技术 77 3.1.5 数据仓库与大数据 79 3.2 Hive概述 80 3.2.1 Hive存储结构 80 3.2.2 Hive体系结构 82 3.2.3 Hive的任务执行流程 84 3.3 Hive的特征 85 3.3.1 一致性 86 3.3.2 可扩展性 86 3.3.3 事务 86 3.4 Hive的基本概念 87 3.4.1 基本数据类型 87 3.4.2 数据类型转换 89 3.4.3 复杂数据类型 90 3.4.4 文本文件数据编码 91 3.4.5 数据读取模式 92 3.4.6 文件格式与压缩 93 3.4.7 Hive压缩 93 3.4.8 Hive关键字 95 3.5 Hive的使用 97 3.5.1 Hive命令 97 3.5.2 Hive DDL 100 3.5.3 Hive DML 104 3.5.4 HiveQL基本查询 108 3.5.5 Hive函数 118 3.5.6 HiveQL高级查询 121 3.6 面向大数据的优化策略 133 3.6.1 分桶 134 3.6.2 视图和索引 136 3.6.3 模式设计 139 3.7 Hive的调优 144 3.7.1 使用EXPLAIN查看执行计划 145 3.7.2 Hive配置管理 147 3.7.3 限制调整 148 3.7.4 JOIN优化 149 3.7.5 本地模式 155 3.7.6 并行执行 157 3.7.7 严格模式 158 3.7.8 调整Mapper和Reducer个数 159 3.7.9 JVM重用 161 3.7.10 动态分区调整 162 3.7.11 推测执行 163 3.7.12 单个MapReduce中的多个GROUP BY 164 3.7.13 虚拟列 164 3.8 Java通过JDBC操作Hive 165 第4章 NoSQL概述 168 4.1 NoSQL与非关系型数据库 168 4.2 NoSQL数据模型 169 4.2.1 键值数据库 170 4.2.2 文档数据库 171 4.2.3 列族数据库 172 4.2.4 图数据库 173 4.2.5 四者对比 173 4.3 NoSQL数据库中的事务 174 4.3.1 CAP理论 174 4.3.2 BASE原则 175 4.3.3 一致性协议 176 4.4 NoSQL关键技术 177 4.4.1 NoSQL的技术原则 177 4.4.2 存储技术 178 4.4.3 数据划分技术 178 4.4.4 索引技术 179 第5章 键值数据库 182 5.1 模型结构 182 5.2 特征 183 5.2.1 一致性 183 5.2.2 可扩展性 183 5.2.3 事务 184 5.3 关键技术 184 5.3.1 索引技术 184 5.3.2 查询支持 186 5.4 Redis 186 5.4.1 Redis 数据类型 187 5.4.2 Redis的持久化 196 5.4.3 Redis事务 201 5.4.4 Redis的发布订阅 205 5.4.5 Redis的主从复制 208 5.5 Redis的Java客户端Jedis 213 5.5.1 Jedis所需要的jar包 214 5.5.2 Jedis常用操作 214 5.5.3 Jedis Pool 215 第6章 列族数据库 220 6.1 模型结构 220 6.2 特征 222 6.2.1 一致性 222 6.2.2 可用性 223 6.2.3 可扩展性 224 6.3 HBase应用 224 6.3.1 HBase数据模型 225 6.3.2 HBase体系结构 227 6.3.3 HBase基本Shell操作 232 6.3.4 HBase压缩 234 6.3.5 可用客户端Java 236 6.4 架构与设计 244 6.4.1 表设计规则 244 6.4.2 RowKey设计 245 6.4.3 列族的数量 248 6.4.4 版本的数量 248 6.5 HBase集成 248 6.5.1 HBase与Hive集成 249 6.5.2 MapReduce与HBase互操作 251 第7章 非关系型文档数据库 255 7.1 模型结构 255 7.2 特征 257 7.2.1 一致性 257 7.2.2 可扩展性 258 7.2.3 事务 260 7.2.4 可用性 261 7.3 MongoDB 261 7.3.1 概述 261 7.3.2 Mongo Shell 262 7.3.3 MongoDB基本操作 269 7.3.4 索引 276 7.3.5 副本集 279 7.3.6 分片 286 7.4 MongoDB的Java客户端 290 7.4.1 MongoDB驱动包的获得 290 7.4.2 Java操作举例 291 第8章 非关系型图数据库 296 8.1 图数据库 297 8.1.1 图模型的模型和定义 297 8.1.2 图数据库的应用 298 8.1.3 图管理的关键技术 299 8.2 Neo4j概述 302 8.2.1 Neo4j的特点 302 8.2.2 Neo4j的数据模型304 8.2.3 Neo4j关键技术 312 8.3 Neo4j的应用320 8.3.1 使用嵌入在Java应用程序中的Neo4j320 8.3.2 Neo4j的Java客户端环境配置 320 8.3.3 一个简单的小型图数据库例子 321 8.3.4 属性值 325 8.3.5 带索引的用户数据库 325 8.4 Neo4j的优化 331 8.4.1 索引 331 8.4.2 批量导入/导出 332 ---------------------------Python语言程序设计--------------------------- 前言 第1章 初识Python 1 1.1 Python的基本概念 1 1.1.1 编译型语言与解释型语言 1 1.1.2 Python的发展史 3 1.1.3 Python的特点及应用领域 4 1.2 Python语言环境的安装 7 1.2.1 在Windows平台上安装Python语言环境 8 1.2.2 在Linux平台上安装Python语言环境 10 1.3 第一个Python程序:HelloWorld 13 1.3.1 中文编码 14 1.3.2 单行注释 14 1.3.3 多行注释 15 1.3.4 书写规范 15 1.3.5 输入和输出 16 1.4 IDLE环境 18 1.4.1 启动IDLE 18 1.4.2 创建Python脚本 18 1.4.3 常用的编辑功能 20 1.5 本章小结 21 1.6 课后习题 21 第2章 Python的基础语法 23 2.1 变量 23 2.1.1 定义一个变量 23 2.1.2 同时定义多个变量 24 2.2 数据类型 25 2.2.1 Number 25 2.2.2 String 26 2.2.3 List 28 2.2.4 Tuple 30 2.2.5 Set 31 2.2.6 Dictionary 32 2.3 运算符 33 2.3.1 占位运算符 33 2.3.2 算术运算符 34 2.3.3 赋值运算符 35 2.3.4 比较运算符 36 2.3.5 逻辑运算符 37 2.3.6 位运算符 37 2.3.7 身份运算符 39 2.3.8 成员运算符 40 2.3.9 序列运算符 41 2.3.10 运算符优先级 41 2.4 条件语句 42 2.4.1 if、elif、else 44 2.4.2 pass 45 2.5 循环语句 46 2.5.1 for循环 47 2.5.2 while循环 48 2.5.3 索引 49 2.5.4 break 50 2.5.5 continue 51 2.5.6 else 51 2.6 本章小结 52 2.7 课后习题 52 第3章 函数 57 3.1 函数的定义与调用 57 3.2 参数列表与返回值 58 3.2.1 形参 59 3.2.2 实参 59 3.2.3 默认参数 60 3.2.4 关键字参数 61 3.2.5 不定长参数 62 3.2.6 拆分参数列表 64 3.2.7 返回值 65 3.3 模块 66 3.3.1 import 67 3.3.2 from import 70 3.3.3 包 71 3.3.4 猴子补丁 72 3.3.5 第三方模块的获取与安装 73 3.4 变量的作用域 73 3.4.1 局部变量 74 3.4.2 全局变量 74 3.4.3 global关键字 75 3.4.4 nonlocal关键字 76 3.5 高级应用 77 3.5.1 递归函数 77 3.5.2 高阶函数 78 3.5.3 lambda函数 78 3.5.4 闭包 79 3.5.5 装饰器 80 3.6 本章小结 83 3.7 课后习题 83 第4章 面向对象 87 4.1 类与对象 87 4.1.1 类的定义 87 4.1.2 创建实例 88 4.1.3 类属性定义及其访问 89 4.1.4 类中普通方法定义及调用 91 4.1.5 私有属性 92 4.1.6 构造方法 93 4.1.7 析构方法 95 4.1.8 常用内置方法 96 4.2 继承与多态 98 4.2.1 什么是继承 98 4.2.2 如何继承父类 99 4.2.3 方法重写 100 4.2.4 super方法 101 4.3 高级应用 103 4.3.1 内置函数isinstance、issubclass和type 103 4.3.2 类方法 104 4.3.3 静态方法 104 4.3.4 动态扩展类与实例 105 4.3.5 __slots__ 106 4.3.6 @property 107 4.3.7 元类 108 4.3.8 单例模式 109 4.3.9 鸭子类型 111 4.4 本章小结 112 4.5 课后习题 112 第5章 序列、集合和字典 116 5.1 可变类型与不可变类型 116 5.2 列表 117 5.2.1 创建列表 117 5.2.2 拼接列表 118 5.2.3 复制列表元素 119 5.2.4 查找列表元素 120 5.2.5 插入列表元素 121 5.2.6 删除列表元素 121 5.2.7 获取列表中的最大元素 122 5.2.8 获取列表中的最小元素 122 5.2.9 统计元素出现的次数 122 5.2.10 计算列表长度 123 5.2.11 列表中元素排序 123 5.3 元组 124 5.3.1 创建元组 125 5.3.2 创建具有单个元素的元组 125 5.3.3 拼接元组 126 5.3.4 获取元组中的最大元素 126 5.3.5 获取元组中的最小元素 126 5.3.6 元组的不变性 126 5.4 集合 127 5.4.1 创建集合 127 5.4.2 元素唯一性 127 5.4.3 插入集合元素 127 5.4.4 交集 128 5.4.5 并集 128 5.4.6 差集 129 5.4.7 对称差集 129 5.4.8 子集 129 5.4.9 父集 130 5.5 字典 130 5.5.1 创建字典 130 5.5.2 初始化字典中的元素 130 5.5.3 修改/插入字典元素 131 5.5.4 删除字典中的元素 132 5.5.5 计算字典中元素的个数 133 5.5.6 清除字典中的所有元素 133 5.5.7 判断字典中是否存在键 133 5.5.8 拼接两个字典 134 5.5.9 获取字典中键的集合 135 5.5.10 获取字典中值的集合 135 5.5.11 获取字典中的元素数组 135 5.5.12 浅拷贝 136 5.5.13 深拷贝 137 5.6 高级应用 138 5.6.1 切片 138 5.6.2 列表生成表达式 138 5.6.3 生成器 139 5.6.4 迭代器 140 5.7 本章小结 142 5.8 课后习题 142 第6章 字符串 146 6.1 字符串常用操作 146 6.1.1 创建字符串 146 6.1.2 单引号、双引号、三引号之间的区别 146 6.1.3 字符串比较 148 6.1.4 字符串切割 149 6.1.5 字符串检索 150 6.1.6 替换字符串中的字符 150 6.1.7 去除字符串空格 151 6.1.8 复制字符串 152 6.1.9 连接字符串 152 6.1.10 获取字符串长度 152 6.1.11 大小写转换 153 6.1.12 测试字符串的组成部分 153 6.2 格式化方法 154 6.2.1 占位符 154 6.2.2 format方法 154 6.3 正则表达式 155 6.3.1 基础语法 155 6.3.2 re模块的使用 157 6.4 本章小结 165 6.5 课后习题 165 第7章 I/O编程与异常 169 7.1 os模块的使用 169 7.1.1 查看系统平台 169 7.1.2 获取当前系统平台路径分隔符 169 7.1.3 获取当前工作 170 7.1.4 获取环境变量值 170 7.1.5 获取文件和列表 170 7.1.6 创建 171 7.1.7 删除 171 7.1.8 获取指定相对路径的绝对路径 172 7.1.9 获取指定路径的名或文件名 172 7.1.10 判断指定路径目标是否为文件 173 7.1.11 判断指定路径目标是否为 173 7.1.12 判断指定路径是否存在 174 7.1.13 判断指定路径是否为绝对路径 174 7.1.14 分离文件扩展名 174 7.1.15 路径连接 175 7.1.16 获取文件名 175 7.1.17 获取文件路径 175 7.2 文件读写 176 7.2.1 open函数 176 7.2.2 with语句 177 7.2.3 文件对象方法 177 7.3 数据的处理 180 7.3.1 一维数据 180 7.3.2 二维数据 181 7.3.3 使用CSV格式操作一维、二维数据 181 7.4 异常的定义和分类 183 7.4.1 异常的定义 183 7.4.2 异常的分类 183 7.5 异常处理 184 7.5.1 try except 185 7.5.2 else 185 7.5.3 finally 186 7.5.4 raise 187 7.5.5 断言 187 7.5.6 自定义异常 188 7.6 本章小结 188 7.7 课后习题 188 第8章 多线程与多进程 191 8.1 线程与进程的定义 191 8.1.1 线程 191 8.1.2 进程 191 8.2 多线程 192 8.2.1 多线程的创建和启动 192 8.2.2 多线程的合并 195 8.2.3 守护线程 196 8.2.4 多线程的同步 197 8.3 多进程 206 8.3.1 创建多进程 206 8.3.2 多进程间的通信 207 8.3.3 多进程间的同步 207 8.3.4 Pool对象 208 8.3.5 Manager对象 210 8.3.6 Listener与Client对象 210 8.4 本章小结 211 8.5 课后习题 212 第9章 综合实例 213 9.1 图书管理系统 213 9.1.1 实例问题描述 213 9.1.2 服务器的搭建 213 9.1.3 定义图书类 214 9.1.4 注册图书信息 214 9.1.5 查询图书信息 215 9.1.6 删除图书信息 216 9.1.7 系统的远程交互过程 217 9.1.8 系统的完整代码 218 9.2 图形化界面计算器 221 9.2.1 实例问题描述 221 9.2.2 Python标准GUI库Tkinter 221 9.2.3 图形界面计算器的完整代码 222 9.3 电影推荐模型 225 9.3.1 基于用户相似度的推荐算法UserCF 225 9.3.2 基于物品相似度的推荐算法ItemCF 226 9.3.3 算法实现 226 9.3.4 实验过程及结果 234 9.4 本章小结 234 第10章 Python常用库 235 10.1 Python标准库 235 10.1.1 turtle模块 235 10.1.2 random模块 237 10.2 常用的Python内置函数 238 10.2.1 数学内置函数 238 10.2.2 数据类型转换 239 10.2.3 序列操作 242 10.2.4 对象操作 243 10.2.5 反射操作 245 10.2.6 变量操作 247 10.2.7 编译执行 247 10.3 第三方库 248 10.3.1 安装第三方库 248 10.3.2 PyInstaller 248 10.3.3 jieba 250 10.3.4 Scrapy 251 10.3.5 Django 252 10.3.6 NumPy 255 10.3.7 Pandas 261 10.3.8 Matplotlib 261 10.3.9 Pygame 264 10.4 本章小结 264 参考文献 265 |