Hadoop常用命令及范例
hadoop中的zookeeper,hdfs,以及hive,hbase都是hadoop的组件,要学会熟练掌握相关的命令及其使用规则,下面就是一些常用命令及对hbase和hive的操作语句,同时也列出了一些范例。
start-dfs.sh
NameNode 进程启动:hadoop-daemon.sh start namenode
DataNode 进程启动:hadoop-daemon.sh start datanode
HA 高可用环境中需要启动的进程:
zookeeper:
zkServer.sh start 启动
zkServer.sh stop 停止
zkServer.sh status 查看状态 leader follwer
journalnode 集群命令
hadoop-daemon.sh start journalnode 启动
hadoop-daemon.sh stop journalnode 停止
ZKFC
启动 zkfc 进程: hadoop-daemon.sh start zkfc
停止 zkfc 进程: hadoop-daemon.sh stop zkfc
1. shell命令 管 理和 HDFS 的文件管 理。
(1)启动 Zookeeper
zkServer.sh start
(2)启动 HDFS 的命令
start-dfs.sh
(3)启动 Yarn 的命令
start-yarn.sh
(4)显示 HDFS 中/data/test 目录信息
hadoop fs -mkdir /data/test
hadoop fs -lsr /data/test
(5)将本地文件/tmp/log.txt 文件上传到/data/test 目录中
hadoop fs -put /tmp/log.txt /data/test
(6)设置文件/data/test/log.txt 的副本数为 3
hadoop fs -setrep -w 3 /data/test/log.txt
(7)显示/data/test/log.txt 文件内容
hadoop fs -cat /data/test/log.txt
(8)将/data/test/log.txt 文件移动到集群/user/hadoop 目录下
hadoop fs -mkdir /user/hadoop
hadoop fs -mv /data/test/log.txt /user/hadoop
(9)将/data/test/log.txt 文件下载到/home/hadoop 目录下
hadoop fs -copyToLocal /data/test/log.txt /home/hadoop/
(10)关闭 HDFS 命令
stop-dfs.sh
(11)停止 Zookeeper
zkServer.sh stop
2.将学生数据存储到 Hive 数据仓库中,信息包括(学号,姓名,性别,年龄,联系方式,
邮箱),创建表语法如下:
启动 hive 前切记要先启动 mysql 数据库
create table student(sno string ,name string ,sex string ,age int ,phone string, email string) row
format delimited fields terminated by ',' ;(1)将本地数据“/tmp/student.dat”加载到 student 表,写出操作语句
load data local inpath '/tmp/student.dat' overwrite into table student;
(2)写 HQL 语句查询全部学生信息
select * from student;
(3)写 HQL 语句查询各个年龄及对应学生数量
(4) select age,count(*) from student group by age;
(5)写 HQL 语句查询全部学生的姓名和性别
select name,sex from student;
(6)写 HQL 语句查询年龄为 18 的学生姓名和联系方式
select name,phone from student where age=18;
(7)写 HQL 语句查看 student 表结构
describe student;
(8)写 HQL 语句删除 student 表
drop table student;
(9)导出 生 地/home/hadoop/out 目录 ,写出 语
from student insert overwrite local directory '/home/hadoop/out' select *;
3.员工表 employee 包含两个列族 basic 和 info,使用 shell 命令完成以下操作。
(1)启动 HBase 集群
注意:在启动 hbase 集群前,需要将 zookeeper,hdfs,yarn 及历史服务器启动
zkServer.sh start
start-dfs.sh
start-yarn.sh
mr-jobhistory-daemon.sh start historyserver
启动 hbase 集群
start-hbase.sh
hbase shell
(2)在 HBase 中创建 employee 表
create 'employee','basic','info'
(3)一个员工行键为“19006”,basic 列族有 sex 列,值为“男”,添加该值
put 'employee','19006','basic:sex','nan'
(4)获取行键为“19002”的员工的性别信息
get 'employee','19006','basic:sex'
(5)获取行键为“19002”的员工的 info 列族所有数据
get 'employee','19006','info'
(6)查询所有员工的数据
scan 'employee'
(7)统计 employee 表的行数
count 'employee'
(8)关闭 HBase 集群
stop-hbase.sh
********
(9)单独启动和关闭 hadoop 服务(10) 启动名称节点
(11) hadoop-daemon.sh start namenode
(12) 启动数据节点
(13)hadoop-daemons.sh start datanode slave
(14)开启 resourcemanager
(15)yarn-daemon.sh start resourcemanager
(16)停止一个数据节点
(17)hadoop-daemon.sh stop datanode
(18)重新开启
(19)hadoop-daemon.sh start datanode
HBase基本语法及示例: (1)建数据表,包含两个列族,第一个列族保留版本为 2,第二个列族保留版本为 1;
create 'stu',{NAME=>'info',VERSIONS=>2},{NAME=>'grade'}
(2) put 添加 , 一 一 识 message;
put 'stu','zhangsan','info:message','16jiruangongyiban'
put 'stu','zhangsan','grade:c++','90'
(3)使用 get 和 scan 查询数据。
get 'stu' ,'zhangsan', 'info'
get 'stu', 'zhangsan',{COLUMNS=>'info:message',VERSIONS=>2}
scan 'stu'
Hbase 语法总结:
注意,在向 hbase 的表中添加数据的时候只能一列一列的添加
添加数据:
put '行键' ,'列族名:列名','数值'
获取数据:
get '表名','行键'
get '表名','行键','列族名'
get '表名','行键','列族名:列名'
get '表名','行键',{COLUMNS=>'列族名:列名',VERSIONS=>版本}
扫描数据:
scan '表名'
scan '表名' {COLUMNS=>'列族名'}
scan '表名' {COLUMNS=>'列族名:列名'}
scan '表名' {COLUMNS=>'列族名:列名',VERSIONS=>版本}
修改数据表:
alter '表名',{NAME=>'已经存在的列族名',VERSIONS=>版本}
清除数据表:
truncate '表名'
disable '表名' drop '表名'
Hive 示例: 使用 DDL 完成数据定义
按照下面学生信息创建学生表和标准身高体重表并加载数据,分别创建内部表、外部表、分区表和桶表,其中分区依据是专业名称,桶表分为 3 个桶。学生信息实例:
学号 姓名 性别 爱好 年龄 学习成绩 通讯地址
实验内容 140010101 张三 男 足球,篮球,长跑等 19 C 程序:90,Java:85,DB:88 河南,郑州,大
学 路 60 号,450001
内部表:
create table stu(sno int,sname string,sex string,hobby array,age int,grade
map,address struct)row format
delimited fields terminated by ' ' collection items terminated by ',' map keys terminated by':';
加载数据:无锡妇科医院哪家好 http://mobile.xasgyy.net/
load data local inpath 'kk.txt' overwrite into table stu;
分区表:
create table stupartition(sno int,sname string,sex string,hobby array,age int,grade
map,address struct)partitioned
by (major string)row format delimited fields terminated by ' ' collection items terminated by ','
map keys terminated by':';
加载数据:
load data local inpath 'kk.txt' overwrite into table stupartition partition(major='jsj');
桶表:
create table stubucket(sno int,sname string,sex string,hobby array,age int,grade
map,address struct)clustered by
(age) into 3 buckets row format delimited fields terminated by ' ' collection items terminated by
',' map keys terminated by':';
设置使用分桶属性:set hive.enforce.bucketing=true;
加载数据:
load data local inpath 'kk.txt' overwrite into table stubucket;
查看数据存储位置可以看到桶表中的数据
hadoop fs -ls /user/hive/warehouse
外部表:
create external table stuexternal(sno int,sname string,sex string,hobby array,age
int,grade map,address
struct)row format delimited fields
terminated by ' ' collection items terminated by ',' map keys terminated by':' location
'/user/hive/external/stuexternal';
加载数据:
load data local inpath 'kk.txt' overwrite into table stuexternal;
标准身高体重实例: 年龄 身高范围 体重范围
19 160-170 60-65
身高体重内部表:
create table shengao(age int,highth struct,weighth struct)row
format delimited fields terminated by ' ' collection items terminated by '-';'
加载数据:
load data local inpath 'shengao.txt' overwrite into table shengao;
3.使用 DML 完成数据查询
查询指定学生的第一爱好和通讯邮编;查询指定学生姓名、性别和身高范围;查询有对应身高范围和体重范围的学生信息;查询软件工程专业学生总人数;查询各专业学生的
平均年龄。
查询指定学生的第一爱好和通讯邮编;
select hobby[0],address.postid from stu where sname='aa';
查询指定学生姓名、性别和身高范围;
select sex,highth from stu left outer join shengao on stu.age=shengao.age where stu.sname='aa';
查询有对应身高范围和体重范围的学生信息;
select * from stu left outer join shengao on stu.age=shengao.age where highth.up=170 and
highth.down=160 and weighth.max=65 and weighth.min=60;
查询软件工程专业学生总人数;
select count(*) from stupartition where major='rjgc';
查询各专业学生的平均年龄。
select avg(age) major from stupartition group by(major);
Hadoop常用命令及范例的更多相关文章
- 【Hadoop篇】--Hadoop常用命令总结
一.前述 分享一篇hadoop的常用命令的总结,将常用的Hadoop命令总结如下. 二.具体 1.启动hadoop所有进程start-all.sh等价于start-dfs.sh + start-yar ...
- Hadoop常用命令总结
一.前述 分享一篇hadoop的常用命令的总结,将常用的Hadoop命令总结如下. 二.具体 1.启动hadoop所有进程start-all.sh等价于start-dfs.sh + start-yar ...
- 大数据之路week06--day07(Hadoop常用命令)
一.前述 分享一篇hadoop的常用命令的总结,将常用的Hadoop命令总结如下. 二.具体 1.启动hadoop所有进程start-all.sh等价于start-dfs.sh + start-yar ...
- Hadoop常用命令及基本概念
HADOOP 是什么? 分布式计算开源框架,其核心组件为:HDFS.MAPREDUCE.YARN Hadoop各个功能模块的理解 1. HDFS模块 HDFS负责大数据的存储,通过将大文件分块后进行分 ...
- Hadoop常用命令介绍
本文主要介绍 Hadoop 常用的命令. test命令 用于检测文件或目录是否存在,判断文件或目录大小. -test -[defsz] <path> : Answer various qu ...
- 5.hadoop常用命令
1. 单独启动和关闭hadoop服务 启动名称节点 #hadoop-daemon.sh start namenode 启动数据节点 #hadoop-daemons.sh start datanode ...
- Hbase&Hadoop常用命令
Hbase中根据Rowkey的前缀Prefix查询数据: scan 'test_xiaomifeng_monitoring_log',{FILTER => "(PrefixFilter ...
- Hadoop常用命令汇总
启动Hadoop 进入HADOOP_HOME目录. 执行sh bin/start-all.sh 关闭Hadoop 进入HADOOP_HOME目录. 执行sh bin/stop-all.sh 1.查看指 ...
- hadoop常用命令详细解释
hadoop命令分为2级,在linux命令行中输入hadoop,会提示输入规则 Usage: hadoop [--config confdir] COMMAND where COMMAND is on ...
随机推荐
- 剑指offer:数组中的逆序对
题目描述: 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对.输入一个数组,求出这个数组中的逆序对的总数P.并将P对1000000007取模的结果输出. 即输出P%100 ...
- 每天有300W的pv,我们单台机器的QPS为58,大概需要部署几台这样机器?
每天有300W的pv,我们单台机器的QPS为58,大概需要部署几台这样机器? 一.总结 一句话总结: ( 3000000 * 0.8 ) / (86400 * 0.2 ) = 139 (QPS) 13 ...
- C#中将xml文件反序列化为实例时采用基类还是派生类的问题
基类: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ...
- 2019年10~11月-NLP工程师求职记录
求职目标:NLP工程师 为什么想换工作? 除了技术相关书籍,我没读过太多其他类型的书,其中有一本内容短但是对我影响特别大的书--<谁动了我的奶酪>.出门问问是我毕业后的第一份工作,无论是工 ...
- mongo 笔记
mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options ...
- RabbitMQ整合Spring Booot【点对点模式】
pom.xml: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www. ...
- charles安装和使用(转)
转发链接:https://blog.csdn.net/zhangxiang_1102/article/details/77855548
- SQL Server跨服务器操作数据库
今天给大家来分享一下跨服务器操作数据库,还是以SQL Server的管理工具(SSMS)为平台进行操作. 什么是跨服务器操作? 跨服务器操作就是可以在本地连接到远程服务器上的数据库,可以在对方的数据库 ...
- hashmap源码解析,JDK1.8和1.7的区别
背景:hashmap面试基础必考内容,需要深入了解,并学习其中的相关原理.此处还要明白1.7和1.8不通版本的优化点. Java 8系列之重新认识HashMap Java 8系列之重新认识HashMa ...
- Mac OS备份迁移iBooks图书操作方法
前段时间换电脑,需要把原本电脑上的一些文件备份.迁移出来,包括iBooks中的电子书. 理论上,苹果体系中通过icloud账号可以把通讯录.备忘录等东西同步过去,但查了一下发现图书支持有限,而且我的e ...