您好,欢迎光临有路网!
Scala和Spark大数据分析  函数式编程、数据流和机器学习
QQ咨询:
有路璐璐:

Scala和Spark大数据分析 函数式编程、数据流和机器学习

  • 作者:(德) 雷扎尔·卡里姆(Md. Rezaul Karim) (美) 斯里达尔·阿拉(Sridhar
  • 出版社:清华大学出版社
  • ISBN:9787302551966
  • 出版日期:2020年06月01日
  • 页数:0
  • 定价:¥158.00
  • 分享领佣金
    手机购买
    城市
    店铺名称
    店主联系方式
    店铺售价
    库存
    店铺得分/总交易量
    发布时间
    操作

    新书比价

    网站名称
    书名
    售价
    优惠
    操作

    图书详情

    内容提要
    本书介绍Spark应用开发的面向对象和函数式编程概念,讨论RDD和DataFrame基本抽象,讲述如何使用SparkSQL、GraphX和Spark来开发可扩展的、容错的流式应用程序,*后介绍监控、配置、调试、测试和开发等**主题。通过本书的学习,你将能使用SparkR和PySpark API开发Spark应用程序,使用Zeppelin进行交互式数据分析,使用Alluxio进行内存数据处理,将透彻理解Spark,并能对海量数据执行全栈数据分析,*终成为数据科学家。
    目录
    第1章 Scala简介 1 1.1 Scala的历史与设计目标 2 1.2 平台与编辑器 2 1.3 安装与创建Scala 3 1.3.1 安装Java 3 1.3.2 Windows 4 1.3.3 macOS 6 1.4 Scala:可扩展的编程语言 9 1.4.1 Scala是面向对象的 9 1.4.2 Scala是函数式的 9 1.4.3 Scala是静态类型的 9 1.4.4 在JVM上运行Scala 10 1.4.5 Scala可以执行Java代码 10 1.4.6 Scala可以完成并发与同步处理 10 1.5 面向Java编程人员的Scala 10 1.5.1 一切类型都是对象 10 1.5.2 类型推导 11 1.5.3 Scala REPL 11 1.5.4 嵌套函数 13 1.5.5 导入语句 13 1.5.6 作为方法的操作符 14 1.5.7 方法与参数列表 15 1.5.8 方法内部的方法 15 1.5.9 Scala中的构造器 16 1.5.10 代替静态方法的对象 16 1.5.11 特质 17 1.6 面向初学者的Scala 19 1.6.1 你的**行代码 20 1.6.2 交互式运行Scala! 21 1.6.3 编译 21 1.7 本章小结 22 第2章 面向对象的Scala 23 2.1 Scala中的变量 24 2.1.1 引用与值不可变性 25 2.1.2 Scala中的数据类型 26 2.2 Scala中的方法、类和对象 28 2.2.1 Scala中的方法 28 2.2.2 Scala中的类 30 2.2.3 Scala中的对象 30 2.3 包与包对象 41 2.4 Java的互操作性 42 2.5 模式匹配 43 2.6 Scala中的隐式 45 2.7 Scala中的泛型 46 2.8 SBT与其他构建系统 49 2.8.1 使用SBT进行构建 49 2.8.2 Maven与Eclipse 50 2.8.3 Gradle与Eclipse 51 2.9 本章小结 55 第3章 函数式编程概念 56 3.1 函数式编程简介 57 3.2 面向数据科学家的函数式Scala 59 3.3 学习Spark为何要掌握函数式编程和Scala 59 3.3.1 为何是Spark? 59 3.3.2 Scala与Spark编程模型 60 3.3.3 Scala与Spark生态 61 3.4 纯函数与高阶函数 62 3.4.1 纯函数 62 3.4.2 匿名函数 64 3.4.3 高阶函数 66 3.4.4 以函数作为返回值 70 3.5 使用高阶函数 71 3.6 函数式Scala中的错误处理 72 3.6.1 Scala中的故障与异常 73 3.6.2 抛出异常 73 3.6.3 使用try和catch捕获异常 73 3.6.4 finally 74 3.6.5 创建Either 75 3.6.6 Future 76 3.6.7 执行任务,而非代码块 76 3.7 函数式编程与数据可变性 76 3.8 本章小结 77 第4章 集合API 78 4.1 Scala集合API 78 4.2 类型与层次 79 4.2.1 Traversable 79 4.2.2 Iterable 80 4.2.3 Seq、LinearSeq和IndexedSeq 80 4.2.4 可变型与不可变型 80 4.2.5 Array 82 4.2.6 List 85 4.2.7 Set 86 4.2.8 Tuple 88 4.2.9 Map 89 4.2.10 Option 91 4.2.11 exists 94 4.2.12 forall 96 4.2.13 filter 96 4.2.14 map 97 4.2.15 take 97 4.2.16 groupBy 98 4.2.17 init 98 4.2.18 drop 98 4.2.19 takeWhile 98 4.2.20 dropWhile 99 4.2.21 flatMap 99 4.3 性能特征 100 4.3.1 集合对象的性能特征 100 4.3.2 集合对象的内存使用 102 4.4 Java互操作性 103 4.5 Scala隐式的使用 104 4.6 本章小结 108 第5章 狙击大数据——Spark加入战团 109 5.1 数据分析简介 109 5.2 大数据简介 114 5.3 使用Apache Hadoop进行分布式计算 116 5.3.1 Hadoop分布式文件系统(HDFS) 117 5.3.2 MapReduce框架 122 5.4 Apache Spark驾到 125 5.4.1 Spark core 128 5.4.2 Spark SQL 128 5.4.3 Spark Streaming 128 5.4.4 Spark GraphX 129 5.4.5 Spark ML 129 5.4.6 PySpark 130 5.4.7 SparkR 130 5.5 本章小结 131 第6章 开始使用Spark——REPL和RDD 132 6.1 深入理解Apache Spark 132 6.2 安装Apache Spark 136 6.2.1 Spark独立服务器模式 136 6.2.2 基于YARN的Spark 140 6.2.3 基于Mesos的Spark 142 6.3 RDD简介 142 6.4 使用Spark shell 147 6.5 action与transformation算子 150 6.5.1 transformation算子 151 6.5.2 action算子 158 6.6 缓存 162 6.7 加载和保存数据 165 6.7.1 加载数据 165 6.7.2 保存RDD 166 6.8 本章小结 166 第7章 特殊RDD操作 167 7.1 RDD的类型 167 7.1.1 pairRDD 170 7.1.2 DoubleRDD 171 7.1.3 SequenceFileRDD 172 7.1.4 CoGroupedRDD 173 7.1.5 ShuffledRDD 174 7.1.6 UnionRDD 175 7.1.7 HadoopRDD 177 7.1.8 NewHadoopRDD 177 7.2 聚合操作 178 7.2.1 groupByKey 180 7.2.2 reduceByKey 181 7.2.3 aggregateByKey 182 7.2.4 combineByKey 182 7.2.5 groupByKey、reduceByKey、combineByKey和aggregateByKey之间的对比 184 7.3 分区与shuffle 187 7.3.1 分区器 188 7.3.2 shuffle 190 7.4 广播变量 193 7.4.1 创建广播变量 194 7.4.2 移除广播变量 195 7.4.3 销毁广播变量 195 7.5 累加器 196 7.6 本章小结 199 第8章 介绍一个小结构——Spark SQL 200 8.1 Spark SQL与数据帧 200 8.2 数据帧API与SQL API 203 8.2.1 pivot 208 8.2.2 filter 208 8.2.3 用户自定义函数(UDF) 209 8.2.4 结构化数据 210 8.2.5 加载和保存数据集 213 8.3 聚合操作 214 8.3.1 聚合函数 215 8.3.2 groupBy 222 8.3.3 rollup 223 8.3.4 cube 223 8.3.5 窗口函数 224 8.4 连接 226 8.4.1 内连接工作机制 228 8.4.2 广播连接 229 8.4.3 连接类型 229 8.4.4 连接的性能启示 236 8.5 本章小结 237 第9章 让我流起来,Scotty——Spark Streaming 238 9.1 关于流的简要介绍 238 9.1.1 至少处理一次 240 9.1.2 至多处理一次 241 9.1.3 **处理一次 242 9.2 Spark Streaming 243 9.2.1 StreamingContext 245 9.2.2 输入流 246 9.2.3 textFileStream样例 247 9.2.4 twitterStream样例 248 9.3 离散流 249 9.3.1 转换 251 9.3.2 窗口操作 253 9.4 有状态/无状态转换 256 9.4.1 无状态转换 256 9.4.2 有状态转换 257 9.5 检查点 257 9.5.1 元数据检查点 258 9.5.2 数据检查点 259 9.5.3 driver故障恢复 259 9.6 与流处理平台(Apache Kafka)的互操作 261 9.6.1 基于接收器的方法 261 9.6.2 direct 流 262 9.6.3 结构化流示例 264 9.7 结构化流 265 9.7.1 处理事件时间(event-time)和延迟数据 268 9.7.2 容错语义 269 9.8 本章小结 269 第10章 万物互联——GraphX 270 10.1 关于图论的简要介绍 270 10.2 GraphX 275 10.3 VertexRDD和EdgeRDD 277 10.3.1 VertexRDD 277 10.3.2 EdgeRDD 278 10.4 图操作 280 10.4.1 filter 281 10.4.2 mapValues 281 10.4.3 aggregateMessages 282 10.4.4 triangleCount 282 10.5 Pregel API 284 10.5.1 connectedComponents 284 10.5.2 旅行商问题(TSP) 285 10.5.3 *短路径 286 10.6 PageRank 290 10.7 本章小结 291 第11章 掌握机器学习Spark MLlib 和ML 292 11.1 机器学习简介 292 11.1.1 典型的机器学习工作流 293 11.1.2 机器学习任务 294 11.2 Spark机器学习API 298 11.3 特征提取与转换 299 11.3.1 CountVectorizer 301 11.3.2 Tokenizer 302 11.3.3 StopWordsRemover 304 11.3.4 StringIndexer 304 11.3.5 OneHotEncoder 305 11.3.6 Spark ML pipeline 306 11.4 创建一个简单的pipeline 308 11.5 无监督机器学习 309 11.5.1 降维 309 11.5.2 PCA 309 11.6 分类 314 11.6.1 性能度量 314 11.6.2 使用逻辑回归的多元分类 324 11.6.3 使用随机森林提升分类精度 327 11.7 本章小结 330 第12章 贝叶斯与朴素贝叶斯 332 12.1 多元分类 332 12.1.1 将多元分类转换为二元分类 333 12.1.2 层次分类 338 12.1.3 从二元分类进行扩展 338 12.2 贝叶斯推理 338 12.3 朴素贝叶斯 339 12.3.1 贝叶斯理论概述 340 12.3.2 贝叶斯与朴素贝叶斯 341 12.3.3 使用朴素贝叶斯建立一个可扩展的分类器 341 12.4 决策树 349 12.5 本章小结 354 第13章 使用Spark MLlib对数据进行聚类分析 355 13.1 无监督学习 355 13.2 聚类技术 357 13.3 基于**的聚类(CC) 358 13.3.1 CC算法面临的挑战 358 13.3.2 K-均值算法是如何工作的 358 13.4 分层聚类(HC) 366 13.5 基于分布的聚类(DC) 367 13.6 确定聚类的数量 372 13.7 聚类算法之间的比较分析 373 13.8 提交用于聚类分析的Spark作业 374 13.9 本章小结 374 第14章 使用Spark ML进行文本分析 376 14.1 理解文本分析 376 14.2 转换器与评估器 378 14.2.1 标准转换器 378 14.2.2 评估转换器 379 14.3 分词 381 14.4 StopWordsRemover 383 14.5 NGram 385 14.6 TF-IDF 386 14.6.1 HashingTF 387 14.6.2 逆文档频率(IDF) 388 14.7 Word2Vec 390 14.8 CountVectorizer 392 14.9 使用LDA进行主题建模 393 14.10 文本分类实现 395 14.11 本章小结 400 第15章 Spark调优 402 15.1 监控Spark作业 402 15.1.1 Spark Web接口 402 15.1.2 使用Web UI实现Spark应用的可视化 412 15.2 Spark配置 417 15.2.1 Spark属性 418 15.2.2 环境变量 419 15.2.3 日志 420 15.3 Spark应用开发中的常见错误 420 15.4 优化技术 425 15.4.1 数据序列化 425 15.4.2 内存优化 428 15.5 本章小结 434 第16章 该聊聊集群了——在集群环境中部署Spark 435 16.1 集群中的Spark架构 435 16.1.1 Spark生态简述 436 16.1.2 集群设计 437 16.1.3 集群管理 440 16.2 在集群中部署Spark应用 444 16.2.1 提交Spark作业 445 16.2.2 Hadoop YARN 450 16.2.3 Apache Mesos 457 16.2.4 在AWS上部署 459 16.3 本章小结 464 第17章 Spark测试与调试 465 17.1 在分布式环境中进行测试 465 17.2 测试Spark应用 468 17.2.1 测试Scala方法 468 17.2.2 单元测试 472 17.2.3 测试Spark应用 473 17.2.4 在Windows环境配置 Hadoop运行时 481 17.3 调试Spark应用 483 17.3.1 使用Spark recap的log4j 进行日志记录 483 17.3.2 调试Spark应用 488 17.4 本章小结 495 第18章 PySpark与SparkR 496 18.1 PySpark简介 496 18.2 安装及配置 497 18.2.1 设置SPARK_HOME 497 18.2.2 在Python IDE中设置PySpark 498 18.2.3 开始使用PySpark 501 18.2.4 使用数据帧和RDD 502 18.2.5 在PySpark中编写UDF 506 18.2.6 使用K-均值聚类算法进行分析 511 18.3 SparkR简介 517 18.3.1 为何是SparkR 517 18.3.2 安装与配置 518 18.3.3 开始使用SparkR 519 18.3.4 使用外部数据源API 520 18.3.5 数据操作 521 18.3.6 查询SparkR数据帧 523 18.3.7 在RStudio中可视化数据 525 18.4 本章小结 527 第19章 **机器学习*佳实践 529 19.1 机器学习*佳实践 529 19.1.1 过拟合与欠拟合 530 19.1.2 Spark MLlib与SparkML调优 531 19.1.3 为应用选择合适的算法 532 19.1.4 选择算法时的考量 533 19.1.5 选择算法时先检查数据 534 19.2 ML模型的超参调整 536 19.2.1 超参调整 536 19.2.2 网格搜索参数调整 537 19.2.3 交叉检验 538 19.2.4 信用风险分析——一个超参调整的例子 539 19.3 一个Spark**系统 548 19.4 主题建模——文本聚类的*佳实践 555 19.4.1 LDA是如何工作的? 555 19.4.2 基于Spark MLlib的主题建模 557 19.5 本章小结 568 附录A 使用Alluxio加速Spark 569 附录B 利用Apache Zeppelin进行交互式数据分析 583

    与描述相符

    100

    北京 天津 河北 山西 内蒙古 辽宁 吉林 黑龙江 上海 江苏 浙江 安徽 福建 江西 山东 河南 湖北 湖南 广东 广西 海南 重庆 四川 贵州 云南 西藏 陕西 甘肃 青海 宁夏 新疆 台湾 香港 澳门 海外