书籍详情
《大数据与人工智能技术丛书:Hadoop+Spark大数据技术(微课版)》[36M]百度网盘|亲测有效|pdf下载
  • 大数据与人工智能技术丛书:Hadoop+Spark大数据技术(微课版)

  • 出版时间:2018-12
  • 热度:6543
  • 上架时间:2024-06-30 09:38:03
书籍下载
书籍预览
免责声明

本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正

内容介绍

产品特色

内容简介

  本书从初学者角度出发,通过丰富的实例,详细介绍了大数据开发环境和基本知识点的应用。全书内容包括:大数据系统基础篇、Hadoop技术篇、Spark技术篇和项目实战篇。大数据系统基础篇讲解Linux的安装、Linux的使用和在Linux系统上安装并使用MySQL;Hadoop技术篇讲解Hadoop集群的搭建、Hadoop两大核心的原理与使用、Hadoop生态圈的工具原理与使用(Hive、HBase、Sqoop、Flume等);Spark技术篇讲解Spark集群的搭建、Scala语言、RDD、Spark SQL、Spark streaming和机器学习;项目实战篇将真实的电力能源大数据分析项目作为实战解读,帮助初学者快速入门。
  本书所有知识点都结合具体实例和程序讲解,便于读者理解和掌握。本书适合作为高等院校计算机应用、大数据技术及相关专业的教材;也适合作为大数据开发入门者的自学用书,可快速提高开发技能。

精彩书摘

  任 务 命 令
  3.1 脚 本 配 置
  3.1.1 Shell脚本
  Shell是用C语言编写的程序,它是用户使用Linux内核的桥梁。Shell既是一种命令语言,又是一种程序设计语言。Shell应用程序提供了一个界面,用户通过这个界面可以访问操作内核的服务。关于Shell的讲解视频可扫描二维码观看。
  Shell脚本(Shell Script)是一种为Shell编写的脚本程序。业界所说的Shell通常是指Shell脚本,但Shell和Shell Script是两个不同的概念。
  Shell编程跟Java、PHP编程一样,只需要一个能编写代码的文本编辑器和一个能解释执行的脚本解释器。
  Linux的Shell种类众多,常见的有:
  * Bourne Shell(/usr/bin/sh或/bin/sh)
  * Bourne Again Shell(/bin/bash)
  * C Shell(/usr/bin/csh)
  * K Shell(/usr/bin/ksh)
  * Shell for Root(/sbin/sh)
  …
  3.1.2 Shell变量
  关于Shell变量的讲解视频可扫描二维码观看。
  Linux的Shell编程是一种非常成熟的编程语言,它支持各种类型的变量。有三种主要的变量类型:环境变量、局部变量和Shell变量。
  环境变量:所有的程序,包括Shell启动程序,都能访问环境变量。有些程序需要环境变量来保证其正常运行,必要的时候Shell脚本也可以自定义环境变量。
  局部变量:局部变量是在脚本或命令中定义,仅在当前Shell实例中有效,其他Shell程序不能访问的局部变量。
  Shell变量:Shell变量是由Shell程序设置的特殊变量。Shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了Shell的正常运行。
  Shell编程和其他编程语言的主要不同之处是:在Shell编程中,变量是非类型性质的,不必指定变量是数字类型还是字符串类型。
  1.局部变量
  Shell编程中,使用局部变量无须事先声明,同时变量名的命名须遵循如下规则:
  * 首个字符必须为字母(a~z,A~Z)。
  * 中间不能有空格,可以使用下画线(_)。
  * 不能使用标点符号。
  * 不能使用bash中的关键字(可以用help命令查看保留关键字)。
  2.局部变量赋值
  变量赋值的格式:
  变量名=值
  访问变量值:取用一个变量的值,只需在变量名前面加一个$。
  示例如下:
  #!/bin/bash
  # 对变量赋值:
  a="hello world" #等号两边均不能有空格存在
  # 打印变量a的值:
  echo -e "A is: $a\n"
  备注:bash中变量赋值,等号两边均不能有空格存在。
  可以使用自己喜欢的编辑器,输入上述内容,并保存为文件test_hello.bsh,然后执行 chmod +x test_hello.bsh使其具有执行权限,最后输入“./test_hello”或“bash test_hello.bsh”执行该脚本。
  程序运行结果:
  A is: hello world
  有时候变量名可能会和其他文字混淆,例如:
  num=1
  echo "this is the $numst"
  上述脚本并不会输出"this is the 1st"而是"this is the ",这是由于Shell会去搜索变量 numst的值,而实际上这个变量并未赋值,可以用大括号来告诉 Shell 把 num 变量跟其他部分 分开。num=1
  echo "this is the ${num}st"
  程序运行结果:
  this is the 1st
  3.1.3 Shell传递参数
  关于Shell传递参数的讲解视频可扫描二维码观看。
  1.普通字符
  可以在执行Shell脚本时,向脚本传递参数,脚本内获取参数的格式为$n。n代表一个数据,n=1为执行脚本的第一个参数,n=2为执行脚本的第二个参数,以此类推。
  示例如下:以下代码向脚本传递三个参数,并分别输出。
  #!/bin/bash
  echo “Shell传递参数实例!”;
  echo “第一个参数为$1”;
  echo “第二个参数为$2”;
  echo “第三个参数为$3”;
  为脚本设置可执行权限后,并执行脚本,输出结果如下所示:
  [root@localhost ~]# chmod u+x test.sh
  [root@localhost ~]# ./test.sh 1 8 89
  打印结果:
  Shell传递参数实例!
  第一个参数为:1
  第二个参数为:8
  第三个参数为:89
  ……

前言/序言

  随着信息技术的不断发展,以及物联网、社交网络、移动终端等新兴技术与服务的不断涌现和广泛应用,数据种类日益增多,数据的规模急剧增大,大数据时代已悄然来临。由于大数据对政府决策、商业规划和危险预防等方面所起的重大作用,大数据逐渐成为一种重要的国家战略性资源,受到政府、能源及信息领域的普遍关注。大数据的多样性(Variety)、规模性(Volume)和高速性(Velocity)等特点,使得传统的数据存储、管理、分析技术已经无法满足大数据的处理要求。
  时至今日,无论你是来自互联网、通信行业,还是来自金融业、服务业或零售业,相信你都不会对大数据感到陌生。调查显示,32.5%的公司正在搭建大数据平台,29.5%的公司已经在生产环境实践大数据技术,并有成功的用例/产品;24.5%的公司已经做了足够的了解,开发准备就绪;基本不了解的只占调查对象的13.5%。根据某知名数据公司的调查数据,目前国内市场的IT人才缺口已经高达几十万,到2025年,这一数字还会增加至200万,“尤其是大数据技术方面的人才”。在智联、58同城等大型招聘网站最新发布的招聘职位中,大数据相关岗位占比已经超过50%,薪酬比软件工程师高10%以上。由此可见,大数据人才的培养是一份重大的责任和使命。
  1.高校大数据人才培养的背景
  (1)高校教育中,大数据人才培养存在起步晚、规模化不足的问题,而且高校学生从大学入学到研究生毕业需要相当长的一段时间。本书从实用的角度出发,为高校快速培养大数据人才提供可行性。
  (2)如前文所述,大数据人才紧缺的现象在全球越来越突出。在此背景下,本书旨在弥补高校大数据教材的不足,以模拟真实生产环境为教学目标,为企业培养“到岗就能用”的大数据实用型人才。
  (3)经济社会的高速发展,对IT产业(尤其是软件产业)提出了更高的要求,对大数据开发人才从数量和质量方面提出了更高的要求。
  (4)教育技术的进步和移动互联网时代的到来,打破了高校进行知识传播的技术壁垒。大量的资本和风险投资涌进IT培训产业。达内、传智播客等实体IT培训机构,开课吧、慕课网、极客网等在线IT培养机构纷纷引入先进的教学理念、强大的技术支持,再加上商业化运作,对高校IT人才培养带来巨大的挑战和竞争压力。
  (5)教学环境的变化。教室、实验室硬件配置齐全,实现了高速稳定的互联网接入,笔记本电脑和手机等互联网接入设备日渐普及,这些都为先进教学理念和教学模式(如微课)的实施提供了硬件和软件上的准备。
  (6)教育参与者。教师应该树立“教育就是服务”的教育观念,贯彻工程教育的教育理念,从注重“教师教什么”转移到“学生学到了什么”。学生作为“数字原住民”,对新鲜事物、新技术、新教学方式(人性化学习、泛在学习等)有着天然的渴望,教师应尽量多利用新的教学手段,提升课程的吸引力。
  综上所述,IT产业、软件技术以及软件人才培养中的教学理念、教学模式、教学环境、教学对象等因素的发展变化倒逼着高校进行教学改革,教师必须围绕以上因素进行教学创新,传统教材形式的革新也势在必行。
  2.本书内容
  全书内容分为大数据系统基础、Hadoop技术、Spark技术和项目实战4部分。其中,Linux是学习大数据技术的基础,先从Linux入手,打下坚实的基础,之后才能更好地学习Hadoop和Spark。4部分内容分别介绍如下。
  大数据系统基础篇通过大数据概述、Linux系统安装、Linux系统基础命令、Shell编程和MySQL数据操作,为以后编程奠定坚实的基础。
  Hadoop技术篇以Hadoop生态圈为中心,详细介绍Hadoop高可用集群搭建、HDFS技术、MapReduce技术、Hive技术,为读者学习大数据开发技术提供便利,并以实用的方式简单介绍HBase、Sqoop、Flume工具的使用,使读者在精通一门技术的前提下,能扩展了解相关知识,真正成为一专多能的专业型人才。
  Spark技术篇从Spark概述、Scala语言、环境搭建、RDD核心技术、Spark SQL和机器学习等多方面讲解Spark大数据的开发,从基础的Scala语言开始学习,并以Hadoop环境为基础搭建Spark大数据集群,从最基础、最常用、最容易理解的思路出发,帮助读者逐步掌握Spark大数据技术。
  项目实战篇从真实项目“电力能源大数据分析”中抽取一部分业务作为实战解读,通过简洁的流程讲解,使读者了解大数据项目开发的整个过程。
  3.本书特色
  本书不是对相关原理进行纯理论的阐述,而是提供了丰富的上机实践操作和范例程序,极大地降低了读者学习大数据技术的门槛。对于需要直接上机实践的读者而言,本书更像是一本大数据学习的实践上机手册。书中首先展示了如何在单台Windows系统上通过VirtualBox虚拟机安装多台Linux虚拟机,而后建立Hadoop集群,再建立Spark开发环境。搭建这个上机实践的平台并不限制于单台实体计算机,主要是考虑个人读者上机实践的实际条件和环境。对于有条件的公司和学校,参照这个搭建过程,同样可以将实践平台搭建在多台实体计算机上。
  搭建好大数据上机实践的软硬件环境之后,就可以在各个章节的学习中结合本书提供的范例程序逐一设置、修改、调试和运行,从中体会大数据实践应用的真谛——对大数据进行高效的“加工”,萃取大数据中蕴含的“智能和知识”,实现数据的“增值”,并最终将其应用于实际工作或者商业项目中。
  4.本书的使用
  第1篇讲解Linux系统和Linux系统上的软件应用。本篇是学习大数据技术的第一步,就如同你要学习Java开发,必须先学会操作Windows系统一样。
  第2篇讲解Hadoop大数据技术。Hadoop大数据集群要求在CentOS 6.9版本的系统上搭建,JDK版本为JDK 1.8,Hadoop版本为Hadoop 2.6.5,Zookeeper版本为Zookeeper 3.4.10。
  第3篇讲解在Hadoop大数据技术的基础上搭建Spark环境,所以读者在学习本篇内容之前,需要熟悉第2篇中的Hadoop大数据集群搭建的内容。
  第4篇讲解电力大数据项目,是基础HDFS的离线分析项目,读者需要掌握Java知识、Hadoop技术和Web前端知识。
  5.作者与致谢
  本书由刘彬斌主编。参与本书的编写、资料整理、书稿校对、课件制作等工作的还有李永富、李柏章、周磊、汪磊等。另外,感谢清华大学出版社相关编辑专业和严谨的工作,为本书的顺利出版提供了宝贵的意见,并付出了辛勤的劳动。
  编 者
  2018年3月