hdfs 分布式文件系统 mapreduce ?大数据离线数据处理框架 yarn ?统一资源管理和调度平台 hive ?数据分析 sqoop ? 数据导入导出 hbase ?大数据存储 非关系型数据库 flume ?日志采集系统 spark ? 实时流式数据处理框架
hdfs 架构原理 ? ?配置 ? ?使用 1.分布式文件系统和普通文件系统 2.hdfs中的几个组件,都有什么作用 namenode:存储文件的元数据,接收来自客户端的读写请求 datanode:存储文件数据 secondarynamenode:第二名字节点,定期的检查并且合并FSImage系统快照,editlog编辑日志 3.hdfs默认存储几块,每块大小、 3, 128M 4.secondarynamenode 和namenode之间的关系 5.hdfs的容错机制 副本机制和心跳机制 副本机制:每一块都有两个以上的副本存储在其他服务器上 心跳机制:datanode会定时发送数据包给namenode,如果namenode接收不到数据包,就会认为dataNode处于宕机状态 6.hadoop 2.X ?端口号是8020 ? 1.X 版本端口是 9000 7.hdfs配置核心配置文件和配置内容 hadoop-env.sh ?JAVA_HOME HADOOP_HOME core-site.xml ?dfs.default.name、 hdfs-site.xml ?dfs.replication ?dfs.name.dir dfs.data.dir slaver? 8.hdfs的命令 创建目录 Hadoop fs -mkdir 删除目录 ?hadoop fs -rmdir? 列出文件或目录 ?hadoop fs -ls 上传/覆盖文件 ? hadoop fs -put (-f) 本地文件 上传路径 ? copyFromLocal 下载文件 ?hadoop fs -get/copyToLocal 文件地址 本地地址? 查看文件 ? hadoop fs -cat? 删除文件 ?hadoop fs -rm? 移动文件 ?hadoop fs -mv ?
mapreduce 1.MapReduce执行流程 ?WordCount 2.Partitioner 和combinner partitioner 是分组,将要清洗的数据按照key来对其进行分组,相同key的放在同一个输出文件中 combiner 是在进入reduce之前,先行合并一次,提高计算效率
yarn 1.yarn中有什么组件,各有什么作用 resourceManager 资源管理器,负责给各个节点分配计算和存储资源以及响应各个节点的计算请求 nodeManager 节点管理器 ?负责管理各个节点的container,以及开启map task 和reduce task 2.yarn的配置文件以及配置内容 mapred-site.xml ? MapReduce的计算框架 ? ? ? mapreduce.framework.name yarn-site.xml ?resoursemanage 和 nodemanager 的节点地址 3.yarn的执行流程
hbase? 1.nosql 和mysql的区别 2.hbase的表结构 表名,行键,列族,列,时间戳 3.hbase 系统架构 4.hbase基础命令 1.列出所有表 ? list 2.创建表 ? ? create '表名','列族'... 3.添加数据 ? ?put '表名','行键','列族:列','值' 4.查询单行数据 ? get '表名','行键' 5.查询所有数据 ? ?scan '表名'
flume 1.flume三个组件以及作用 source ? 负责从源数据接收event 或者自己产生event,传递到下一层 channel ? 负责将event传递到sink,将数据缓存在管道中,保证数据的传输速率恒定 sink ? 负责将event传递到目的端,并且将event从channel中移除
sqoop 导出命令:sqoop export --connect jdbc连接 --username 用户名 --password 密码 --table mysql中的表 --export-dir 导出路径(hdfs上的文件) --input-fields-terminated-by 分割方式 --m 1
hive 数据库,表,数据增 查
数据库 创建数据库 ? ?create database 数据库名; 显示数据库 ? ?show databases; 删除数据库 ? ?drop database 数据库名; 使用数据库 ? ?use 数据库名; 表 创建表? create table 表名(字段名 字段类型,字段名 字段类型...)row format delimited fields terminated by '\t'; 显示所有表 ? show tables; 删除表 ? drop table 表名; 数据 添加数据 load data (local) inpath '/数据文件地址.......' into table 表名; 查询 1.查询所有 select * from 表名; 2.按照字段查询 select 字段名,字段名2 from 表名; 3.单一条件查询 select 字段名 ?from 表名 where 条件; 4.全局排序 select 字段 from 表名 order by 排序字段 asc(升序,默认升序)/desc(降序); 5.部分排序/分区排序 ?按照性别分组按照学号排序 select 字段 from 表名 distribute by sex sort by 学号; 6.分组聚合 ? group by ?各科目的最高分 select ... from 表名 group by 科目;按照xxx分组 group by后字段就是什么 聚合函数 最大值 ? max ? ?最小值 min ? 求和 ?sum ? 求平均 ? avg ? ? 计数 ?count 7.多表查询 ?找出各个表中相同的字段,这个就是连接字段 select 字段名.. from 表1,表2, 表n... where 表1.字段1 = 表2.字段x and 表2.字段x = 表n.字段n and ......; select 字段 from 表1 join 表2 on 表1.字段1 = 表2.字段2 where xxxx; left join 以左边为主表,如果右边的数据不存在,写null right join 以右边为主表,如果左边的数据不存在,写null 8.查询创建新表 ? CTAS 创建表 create table 表名 row format delimited fields terminated by '\t' as select xxxxxxxxxxxxxx;
?
|