大数据期末复习资料2024 Beta版_大数据导论期末考试知识点(1)
ZooKeeper是一个分布式应用程序协调服务,主要用于解决分布式集群中应用系统的一致性问题。ZooKeeper = 文件系统+通知机制。(类似于资源管理系统)Zookeeper 和 Kafka 启动的时候都是需要在所有的计算机(指主从)都启动不需要启动Hadoop集群分别登录master和slave01、slave02节点进入zookeeper安装目录,启动服务# master节点bin/zkS
大数据单元8在线测试:https://ks.wjx.top/vm/wvfvdLq.aspx#
手动目录(因为csdn自带的目录树无法展示到四级)
-
- 第1章 大数据概论
- 第2章 Hadoop概论
- 第3章 HDFS分布式文件系统
- 第4章 MapReduce的工作机制
- 第5章 Hive
- 第6章 ZooKeeper分布式协调系统
- 第7章 Kafka
- 第8章 HBase
-
- 1. 简介
- 2. 和传统关系数据库的区别
- 3. 常用命令
-
- 3.1 启动
- 3.2 启动2
- 3.3 进入Hbase shell
- 3.4 集群状态命令 status
- 3.5 创建表:
- 3.6 查看表结构
- 3.7 查看所有记录
- 3.8 查看表中的记录总数
- 3.9 添加记录
- 3.10 查询表中有多少条记录,使用count命令。
- 3.11 获取一条数据,使用get命令
- 3.12 获取某行数据一个列族的所有数据,使用get命令。
- 3.13 获取某行数据一个列族中一个列的所有数据,使用get命令
- 3.14 更新一条记录,使用put命令
- 3.15 删除行键值为19052006的列height,使用delete命令。
- 3.16 增加列族
- 3.16 删除列族
- 3.17 删除整行
- 3.18 下线 disable
- 3.19 上线表 enable
- 3.19 判断命令(exists,is_enabled,is_disabled)
- 3.20 删除表中所有数据
- 3.21 删除表 (先下线表)
- 3.22 退出hbase shell
- 3.23 关闭hbase
- 3.1 启动
- 1. 简介
- SP 特别篇
- 第1章 大数据概论
第1章 大数据概论
1. 特征
- 容量(Volume)
- 种类(Variety)
- 速度(Velocity)
- 价值(Value)
- 可变性(Variability)
- 真实性(Veracity)
- 复杂性(Complexity)
2. 结构
- 结构化
- 半结构化
- 非结构化数据
3. 大数据的处理流程
大数据的整体技术:
数据采集、数据存取、基础架构、数据处理、统计分析、数据挖掘、模型预测和结果呈现等。
第2章 Hadoop概论
1. Hadoop特点
- 高可靠性
- 高扩展性
- 高效性
- 高容错性
- 低成本
2. 启动Hadoop集群
start-all.sh
ips
HDFS的守护进程:NameNode, DataNode及Secondary-NameNode
MapReduce的守护进程:JobTracker和TaskTracker
第3章 HDFS分布式文件系统
1. HDFS体系结构
HDFS:主/从(Mater/Slave)体系结构
- 打开浏览器
- 输入http://master:50070
- Utilities -> browse the file system
- 输入路径
- 查看文件
http://master:50070
1.1 NameNode
NameNode 管理者
说明信息-元数据Meta-data
HDFS中的文件也是被分成64M(128M)一块的数据块存储的。
副本策略: HDFS默认的副本系数是3。
1.2 Secondary namenode
1.3 DataNode
1.4 Client
1.5 文件写入
- NameNode
- DataNode
- Client
1.6 文件读取
- NameNode
- DataNode
- Client
ResourceManager NameNode
NodeManager DataNode
2. HDFS 常用命令
1. 创建目录
hadoop fs -mkdir <paths>
创建单个目录:
hadoop fs -mkdir /home/myfile/dir1
创建多个目录:
hadoop fs -mkdir /home/myfile/dir1 /home/myfile/dir2
2. 查看目录
hadoop fs -ls <paths>
示例:
hadoop fs -ls /home/myfile/
查看所有子目录
hadoop fs -ls –R <path>
(区分大小写)
示例:
hadoop fs -ls –R /home/myfile/
3. 上传文件
将一个或多个文件从本地系统复制到Hadoop文件系统。
hadoop fs -put <local_files> ... <hdfs_path>
示例:
hadoop fs -put Desktop/test.sh /home/myfile/dir1/
4. 下载文件
将文件从HDFS下载到本地文件系统。
hadoop fs -get <hdfs_paths> <local_path>
示例:
hadoop fs -get /home/myfile/test.sh Downloads/
5. 查看文件
hadoop fs -cat <paths>
示例:
hadoop fs -cat /home/myfile/test.sh
6. 复制文件
hadoop fs -cp <source_path> ... <destination_path>
示例:
hadoop fs -cp /home/myfile/test.sh /home/myfile/dir
7. 移动文件
hadoop fs -mv <source_path> <destination_path>
示例:
hadoop fs -mv /home/myfile/test.sh /home/myfile/dir
8. 删除文件
删除指令有两个选项,-rm
和-rm -r
hadoop fs -rm <path>
示例:
hadoop fs -rm /home/myfile/test.sh
上述命令只会删除给定目录下的文件,如果要删除一个包含文件的目录,,需要使用参数-r。
用法:hadoop fs -rm -r <path>
示例:
hadoop fs -rm -r /home/myfile/dir
9. 查看文件尾部
hadoop fs -tail <path>
示例:
hadoop fs -tail /home/myfile/test.sh
10. 显示文件总长度
hadoop fs -du <path>
示例:
hadoop fs -du /home/myfile/test.sh
11. 统计文件数
hadoop fs -count <path>
示例:
hadoop fs -count /home/myfile
12. 统计文件的详细信息
hadoop fs -df <path>
示例:
hadoop fs -df /home/myfile
13. 合并文件
从HDFS拷贝多个文件、合并排序为一个文件
hadoop fs –getmerge <src> <localdst>
示例:
hadoop fs –getmerge /user/hduser0011/test /home/myfile/dir
14. 屏幕显示内容存储到HDFS文件
echo abc
echo abc | hadoop fs –put - <path>
echo abc | hadoop fs –put /home/myfile/test.txt
第4章 MapReduce的工作机制
1. MapReduce功能
MapReduce实现了两个功能:
Map:把一个函数应用于集合中的所有成员
Reduce:对多个进程或者独立系统并行执行
2. MapReduce的架构
Job(作业),Tasks(任务)
主从结构 master slave
Namenode Datanode
ResourceManager NodeManager
JobTracker(可变) TaskTracker
JobTracker负责
- 接收客户提交的作业,负责作业的分解和状态监控。
- 把任务分给TaskTracker执行
- 监控TaskTracker的执行情况
NodeManager:是执行应用程序的容器,
TaskTracker:从JobTracker接收并执行各种命令:运行任务、提交任务、杀死任务等;将本地节点上各个任务的状态通过心跳周期性汇报给JobTracker。
TaskTracker :是JobTracker和Task之间的桥梁, 从JobTracker接收并执行各种命令:运行任务、提交任务、杀死任务等;将本地节点上各个任务的状态通过心跳周期性汇报给JobTracker。
MapReduce架构由4个独立的节点(Node)组成
(1)Client
(2)JobTracker
(3)TaskTracker
(4)HDFS
3. 作业的调度
FIFO 调度器
Fair Scheduler公平调度器
Capacity Scheduler计算能力调度(容量调度)
4. WordCount 流程
输入数据 -> split(分割)-> map -> shuffle(洗牌)-> reduce
split包含 <文件名,开始位置,长度,位于哪些主机>
等信息
1.输入数据通过Split
的方式,被分发到各个节点上
2.每个Map任务在一个Split上面进行处理;
3.Map
任务输出中间数据;
4.在Shuffle
过程中,节点之间进行数据交换(Shuffle意为洗牌);
5.拥有同样Key值的中间数据即键值对(Key-Value Pair)被送到同样的Reduce
任务中
6.Reduce执行任务后,输出结果。
第5章 Hive
1. Hive数据模型
元数据(MetaData)又称“数据的数据”或“中介数据”,是用于描述数据各项属性信息的数据例如数据的类型、结构、历史数据信息,数据库、表、视图的信息等Hive的元数据要经常面临读取、修改和更新操作,因此并不适合储存在HDFS中,而是通常储存在关系型数据库中,
- 在 Hive 命令行里看到的是 元数据
- 在 HDFS 上看到的是它的 物理数据
2. 复杂数据类型
- 数组 ARRAY:ARRAY类型是由一系列相同数据类型的元素组成,这些元素可以通过下标来访问。
- 结构体 STRUCT:STRUCT可以包含不同数据类型的元素。
- 键值对 MAP:MAP包含key->value键值对,
3. Hive基本操作(大题)
3.1 进入 hive
start-all.sh
[zkpk@master ~]$ hive
hive>
3.2 查看hive中的表
Hive命令以 ; 结束
3.3 创建表
3.4 显示表结构
desc table-name;
3.5 显示表内容
select * from table-name;
3.6 从文件中导入数据
本地机创建文件 l.txt
在文件里添加数据
1 aaa f
2 bbb f
3 ccc m
4 ddd f
5 eee m
从文件中导入数据
查看表内容
3.7 增加字段
alter table table_name add columns (newcolname type );
3.8 修改字段名称
alter table table_name change col_name new_col_name type;
3.9 修改字段类型、位置
3.10 删除字段
alter table table_name replace columns (col1 type,col2 type,col3 type);
(COLUMNS中放保留的字段)
3.11 复制表
create table new_table as select \* from exists_table;
3.12 复制表结构
create table new_table as select \* from exists_table where 1=0;
3.13 重命名表
alter table table_name rename to new_table_name;
3.14 清空表中数据
truncate table tableName;
3.15 删除表
drop table 表名;
3.16 将hive 表中数据下载到本地
insert overwrite local directory ‘/home/zkpk/目录名’ select \* from 表名;
查看下载到本地的数据
4. 表的存储
表: 存储在 HDFS: /user/hive/warehouse
5. 外部表和内部表
表:管理表(内部表,临时表) 删除的时候,元数据、实际表文件全部删除。
外部表:删除的时候,只删除元数据、实际表文件不删除。
创建外部表:
create external table tablename;
6. 分区表
分区表:将一张表的数据按照分区规则分成多个目录存储。这样可以通过指定分区来提高查询速度。
开启动态分区功能
# 开启动态分区功能
set hive.exec.dynamic.partition=true;
# 所有分区都是动态的(动态分区的模式)
set hive.exec.dynamic.partition.mode=nonstrict;
# 最大动态分区个数
set hive.exec.max.dynamic.partitions.pernode=1000;
7. 桶表
对于每一个表(table)或者分区,Hive可以进一步组织成桶,也就是说桶是更为细粒度的数据范围划分
创建桶表
向桶表输入数据
8. 复杂数据类型
9. 其他语句
9.1 创建数据库
9.2 删除数据库
Hive不允许用户删除一个包含有表的数据库
DROP TABLE 数据库名.表名;
DROP DATABASE 数据库名;
删除命令的最后面加上关键字CASCADE
,这样可以使Hive自行先删除数据库中的表
DROP DATABASE 数据库名 CASCADE;
10. 视图
略
11. 常用HQL命令
1.* 代表查询所有字段
select \* from lxl;
- 查询指定字段
select name,gender from lxl;
- limit 限制查询条数
select \* from lxl limit 3;
- where 代表限定条件
select \* from lxl where gender=‘f’;
- where 后面加多个条件
select \* from lxl where gender=‘f’ and no=1;
查询条件是字符、字符串的加上 ‘’ “” 均可
- distinct :去重
select distinct age from lxlage; (age相同的只显示一个)
- group by 分组
做一些运算,通常与聚合函数配合使用,聚合函数还有max(),min(),count()
8. order by
对数据排序,默认是按升序,如果要按降序进行在最后加一个desc
- like主要用于模糊匹配
select \* from lxl where name like '%a%';
查找name中含有a 这个字符的数据
in关键字的用法
10. between and的用法
select \* from lxl where no between 2 and 4;
- join 按照条件把数据连接起来
select \*from lxl join lxlage on lxl.no=lxlage.no;
select \*from lxl left join lxlage on lxl.no=lxlage.no;
左右表有不一致数据,左表全部显示
select \*from lxl right join lxlage on lxl.no=lxlage.no;
左右表有不一致数据,右表全部显示
- union all 把数据合起来,条件是字段名与类型必须相同
- having
统计平均工资3800以上的部门。
where 关键字无法与聚合函数一起使用, having只用于group by分组统计语句。
11. 关闭hive
quit;
第6章 ZooKeeper分布式协调系统
1. 简介
ZooKeeper是一个分布式应用程序协调服务,主要用于解决分布式集群中应用系统的一致性问题。
ZooKeeper = 文件系统+通知机制。(类似于资源管理系统)
Zookeeper 和 Kafka 启动的时候都是需要在所有的计算机(指主从)都启动
不需要启动Hadoop集群
分别登录master和slave01、slave02节点
进入zookeeper安装目录,启动服务
# master节点
cd zookeeper-3.4.10/
bin/zkServer.sh start #(s必须大写)
# slave节点
cd zookeeper-3.4.10/
bin/zkServer.sh start
启动命令:bin/zkServer.sh start
ZooKeeper可以处理两种类型的队列:
- 同步队列,即当一个队列的所有成员都聚齐时,这个队列才可用,否则会一直等待所有成员聚齐
- 先入先出队列,即按照先入先出方式进行入队和出队操作。
2. 持久节点和临时节点
ZooKeeper中节点主要有四种类型:
- 持久节点(PERSISTENT):
是指节点在被创建后就一直存在,直到有删除操作来主动清除这个节点。这类节点不会因为创建该节点的客户端会话失效而消失。 - 持久顺序节点(PERSISTENT_SEQUENTIAL):
在ZooKeeper中,每个父节点会为自己的第一级子节点维护一份时序文件,记录每个子节点创建的先后顺序。基于这个特性,可以创建持久顺序节点,即在创建子节点的时候,用户可以指定其顺序属性,ZooKeeper就会自动为给定节点名加上一个数字后缀,作为新的节点名 - 临时节点(EPHEMERAL):
和持久节点不同,临时节点的生命周期和客户端会话绑定。也就是说,如果客户端会话失效,那么这个节点就会自动被清除掉(注意是会话失效,而非连接断开)。另外,在临时节点下面不能创建子节点。 - 临时顺序节点(EPHEMERAL_SEQUENTIAL):
临时顺序节点与临时节点的不同在于:临时顺序节点在创建时会自动加上编号,其创建方法与编号格式与持久顺序节点相同。
3. get 获取节点数据和更新信息
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
服务
# master节点
cd zookeeper-3.4.10/
bin/zkServer.sh start #(s必须大写)
# slave节点
cd zookeeper-3.4.10/
bin/zkServer.sh start
启动命令:bin/zkServer.sh start
ZooKeeper可以处理两种类型的队列:
- 同步队列,即当一个队列的所有成员都聚齐时,这个队列才可用,否则会一直等待所有成员聚齐
- 先入先出队列,即按照先入先出方式进行入队和出队操作。
2. 持久节点和临时节点
ZooKeeper中节点主要有四种类型:
- 持久节点(PERSISTENT):
是指节点在被创建后就一直存在,直到有删除操作来主动清除这个节点。这类节点不会因为创建该节点的客户端会话失效而消失。 - 持久顺序节点(PERSISTENT_SEQUENTIAL):
在ZooKeeper中,每个父节点会为自己的第一级子节点维护一份时序文件,记录每个子节点创建的先后顺序。基于这个特性,可以创建持久顺序节点,即在创建子节点的时候,用户可以指定其顺序属性,ZooKeeper就会自动为给定节点名加上一个数字后缀,作为新的节点名 - 临时节点(EPHEMERAL):
和持久节点不同,临时节点的生命周期和客户端会话绑定。也就是说,如果客户端会话失效,那么这个节点就会自动被清除掉(注意是会话失效,而非连接断开)。另外,在临时节点下面不能创建子节点。 - 临时顺序节点(EPHEMERAL_SEQUENTIAL):
临时顺序节点与临时节点的不同在于:临时顺序节点在创建时会自动加上编号,其创建方法与编号格式与持久顺序节点相同。
3. get 获取节点数据和更新信息
[外链图片转存中…(img-jyZgz08l-1714298787187)]
[外链图片转存中…(img-igwafXKN-1714298787188)]
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
更多推荐
所有评论(0)