1、Docker中镜像、容器和数据卷的概念
镜像:类似虚拟机中的快照,更轻量,只读,静态的。
容器:是独立运行的一个或一组应用,以及他们的运行态环境,是轻量级的,功能非常强悍,可读写,动态的。
数据卷:是一个可供一个或多个容器使用的特殊目录,多个容器可共享同一个Volume,实现数据共享。
2、大数据平台中将物理节点转化成虚拟节点的优缺点
优点:解决物理节点维护繁琐的瓶颈,虚拟化具有备份、快照、双机热备等多种功能。
缺点:功能很多是以牺牲硬件性能为代价的。
3、分布式大数据与经典关系数据库的对比
经典数据库的数据大小是字节类型,支持交互式得批处理,支持多次读多次写得功能,创建得是静态表,有较高得完整性,在规模上是非线性得,并且可以迅速得做出反应
分布式数据库存储数据大小是Pb级别的,支持批处理但是没有很好的交互性能,一次写多次读,建立的数据库是动态的,有较低的完整性,数据存储是线性的,不能做出及时的反馈信息。
4、CDH的部署流程
1Cloudera Manager安装
A、下载CM安装包
B、运行安装CM
2添加服务
A、添加Cloudera Management Service
B、添加HDFS服务
C、Zookeeper安装
D、YARN安装
E、Hive安装
F、Impala安装
G、CDH状态一览
5、本课程中的三种大数据定义
1麦肯锡公司最早给出大数据定义:大数据是超过传统数据库工具的获取、存储、分析能力的数据集,并不是超过TB的才叫大数据。
2:大数据是指无法在可承受的时间范围内用常规软件工具进行捕捉、管理和处理的数据集。
3本书编者:大数据是超过传统数据库工具、传统数据结构、传统程序设计语言、传统编程思想的获取、存储、分析能力的数据集。
6、大数据的四个V?解释他们的含义
1容量        数据容量巨大。大数据的起始计量单位至少是P、E、Z。
2多样        数据类型繁多。比如,网络日志、视频、图片、地理位置等。
3价值        价值密度低,商用价值高。
4速度        处理速度快。
7、大数据的三大核心技术,简要解释
1HDFS            指被设计成适合运行在通用硬件上的分布式文件系统。HDFS是  一个高度容错性的系统,适合部署在廉价的机器上。
2MapReduce    处理海量数据的并行编程模型和计算框架。用于大规模数据集的并行运算。概念"Map"和"Reduce",是它们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。
3HBase        一个高可靠、高性能、面向列、可伸缩的分布式数据库。
8、Docker、OpenStack、CDH、MapR、HDP等工具在大数据平台中的位置及作用,框架图
9、为什么需要HDFS?HDFS的基本原理?节点类型和各自的功能?
为什么需要HDFS:HDFS是hadoop distribute file system,是hadoop分布式管理系统,它可以存储和管理PB级别以上数据,存储和管理大量的数据,并通过构建廉价的机实现文件的分发和存储,不仅增加存储的量而且增加了安全性
HDFS的基本原理:用户把数据交给HDFS的Name结点,通过对文件的切分,然后Name接点把数据分发给各个数据接点进行存储和备份,实现把大量的数据进行存储和分发。
节点类型功能:
1NameNode    是分布式文件系统中的管理者,主要负责管理文件系统的命名空间、集配置信息和存储块的复制等。
2Secondary NameNode        作为NameNode的备用。
3DataNode        是文件存储的基本单元,它将Block存储在本地文件系统中,保存了Block的Meta-data,同时周期性地将所有存在的Block信息发送给NameNode。HDFS支持文件的“一次写入多次读取”语义。HDFS中的文件总是按照64M被切分成不同的块,每个块尽可能地存储于不同的DataNode中。
4Client            Client就是需要获取分布式文件系统文件的应用程序。
5Jobtracker        负责任务的调度 。应用程序提交任务后它决定哪个文件被处理。
6TaskTracker    与DataNode相结合,负责执行具体的任务。
7文件写入        Client向NameNode发起文件写入的请求。 NameNode根据文件大小和文件块配置情况,返回给Client它所管理部分DataNode的信息。 Client将文件划分为多个Block,根据DataNode的地址信息,按顺序写入到每一个DataNode块中。
10、MapReduce编程模型?三个步骤?用WordCount举例?
步骤:输入大量的数据,然后进行拆分(split),读取原始数据,形成key-value数据(map方法);  聚合,将相同key的数据聚合到一组(reduce方法)。
WordCount:首先输入数据,Name结点进行分割分发给各个Date结点并且按照某种规则进行分割,然后把数据进行Map生成键值对,通过shuffle操作进行数据分发,最后对数据进行整合。
11、Spark和Hadoop的优缺点及各自应用场景
Hadoop存在如下一些缺点::
1表达能力有限。计算都必须转换成Map和Reduce,并不适合所有情况,复杂数据难以处理。
2 磁盘IO开销大。每次执行都需要从磁盘读取数据,计算完成后要将结果写会磁盘。
3延迟高。一次计算 需要分解成多个顺序执行的MapReduce任务,导致任务之间的衔接涉及IO开销,在前一个任务执行完成之前,其他任务就无法开始,难以胜任复杂、多阶段的计算任务。
Spark在借鉴Hadoop MapReduce优点的同时,很好地解决了MapReduce所面临的问题。
相比于Hadoop MapReduce,Spark主要具有如下优点:
1Spark的计算模式也属于MapReduce,但不局限于Map和Reduce操作,还提供了多种数据集操作类型,编程模型比Hadoop MapReduce更灵活
2Spark提供了内存计算,可将中间结果放到内存中,对于迭代运算效率更高。
③ Spark基于DAG ( Directed Acyclic Graph,有向无环图)的任务调度执行机制,要优于Hadoop MapReduce的迭代执行机制
MapReduce是面向磁盘的。因此,受限于磁盘读写性能的约束,MapReduce在处理迭代计算、 实时计算、交互式数据查询等方面并不高效。但是,这些计算却在图计算、数据挖掘和机器学习等相关应用领域中非常常见。
    而Spark是面向内存的。这使得Spark能够为多个不同数据源的数据提供近乎实时的处理性能,适用于需要多次操作特定数据集的应用场景。在相同的实验环境下处理相同的数据,若在内存中运行,那么Spark要比MapReduce快100倍。其它方面例如处理迭代运算、计算数据分析类报表、排序等,Spark都比MapReduce快很多。此外,Spark在易用性、通用性等hbase属于什么类型数据库
方面,也比Hadoop更强。
12、用Spark实现节点度的统计,词频统计
13、用Mahout进行K-means聚类分析
14、深度学习与机器学习、人工智能的关系
深度学习:由算法组成的机器学习子集,这些算法允许软件通过将多层神经网络暴露给大量数据来训练自己执行任务,如语音和图像识别。
机器学习:人工智能的一个子集,包括深奥的统计技术,使机器能够在有经验的任务中改进。这一类包括深度学习。
人工智能:任何使计算机能够模仿人类智能的技术,使用逻辑、if-then规则、决策树和机器学习(包括深度学习)。
***人工智能包含了机器学习,而机器学习包含了深度学习。也可以说是机器学习包含了深度学习,两者的组成应用到人工智能中。
15、深度学习训练的套路(三步走),训练中如何衡量训练结果(损失函数的原理),如何调整权值(梯度下降)?
三步走:① 随机选择一些初始参数,构建一个匹配函数;② 检查所选参数是否足够好也就是检查拟合函数F(X)足够精确;③优化参数,使函数更准确。
损失函数的原理:通过构建一个损失函数 ,如果这个损失函数的值越小我们就说它的拟合程度就越好,相反越大,拟合程度越差。
如何调整权值:采用梯度下降的方法,通过构建函数 ,通过判断拟合函数L(x)的一阶段判定来调整它的权值,使W达到最小。
实验
实验一 使用 Spark 和 Scala 统计 50 万节点 的 LFR 生成网络中的节点的度
1. 实验目的 (1)了解linux系统原理并熟悉linux系统的基本操作 (2)理解掌握hadoop分布式框架的基本使用 (3)使用spark和scala统计网络节点的度
2. 实验内容 下载安装解压软件rar(已经安装好,可跳过此步) wget www.rarlab/rar/rarlinux-3.8. tar zxvf rarlinux-3.8. cd rar make make install 
1. 切换到 root 权限下
sudo su
2. 启动
hadoop source /etc/profile
start-all.sh   
3. 进入/home/sys-01 目录下的 Exercise 目录,查看数据其实已经解压好了,再次解 压所以报错
cd /home/sys-01/Exercise
4. 进入 case_node_500000 目录下,将本地文件上传到 hdfs cd case_node_500000
5. 将 上传到 hdfs 目录下
提示文件已经存在,我们可以跳过此步骤 直接下载也行,或者删除已经上传的文件熟 悉一下 hdfs shell,当然我们也可以重命名为 这里我用的是删除了它
我们先查看一下 hdfs 根目录下的内容
我们可以看到跟目录下有很多实验过的数据文件和目录,所以很多操作,同学都说报错,
报错了你就看提示是什么,根据提示解决就行
接下来删除根目录下所有以 net 开头的所有文件和目录
(hdfs 文件删除代码 hadoop fs -rm -r -f /路径) 基本的 Linux 命令,可以百度一下, 千万不要执行 hadoop fs -rm -r -f /
hadoop fs -rm -r -f /net*
查看一下是否删除了
hadoop fs -ls /
然后咱们在上传 case_node_500000 目录下
hadoop fs -put /home/sys-01/Exercise/case_node_  /

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。