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 ...
随机推荐
- LDAP -- ldap 的cn, ou, dc的含义
1. LDAP的存储规则 区分名(DN,Distinguished Name) 和自然界中的树不同,文件系统/LDAP/电话号码簿目录的每一片枝叶都至少有一个独一无二的属性,这一属性可以帮助我们来区别 ...
- 转:【微信公众号】微信snsapi_base静默授权与snsapi_userinfo网页授权的实现(不建议使用静默,直接用主动比较方便)
版权声明:本文为CSDN博主「小璐謌」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明. 原文链接:https://blog.csdn.net/qq_37462176/ ...
- plsql 使用desc命令提示invalid sql statement
使用SQL WINDOW运行desc命令就报invalid sql statement错误!! 使用Command Window就可以!!!
- 廖雪峰Git教程3
转自:https://www.liaoxuefeng.com/wiki/896043488029600 [标签管理] 发布一个版本时,我们通常先在版本库中打一个标签(tag),这样,就唯一确定了打标签 ...
- pycharm设置代码行的长度为79字符(PEP8)
pycharm设置代码行的长度为79字符
- 微信小程序开发——base64位图片显示问题
前言: 目前小程序项目需要后端借口提供验证码图片,后端是以base64位返回的,按照H5的做法,前边拼上 data:image/png;base64, 应该就可以了,关键代码如下: H5: <i ...
- [LeetCode] 220. Contains Duplicate III 包含重复元素 III
Given an array of integers, find out whether there are two distinct indices i and j in the array suc ...
- [LeetCode] 280. Wiggle Sort 摆动排序
Given an unsorted array nums, reorder it in-place such that nums[0] <= nums[1] >= nums[2] < ...
- consul集群搭建以及ACL配置
由于时间匆忙,要是有什么地方没有写对的,请大佬指正,谢谢.文章有点水,大佬勿喷这篇博客不回去深度的讲解consul中的一些知识,主要分享的我在使用的时候的一些操作和遇见的问题以及解决办法.当然有些东西 ...
- .net core在Linux本地化Localization的一次填坑
使用ABP框架开发.net core程序已经有一段时间了,因为之前部署在windows服务器上,使用一直很正常.自从前段时间切换服务器上了Linux的Centos服务器,发现之前中文的语言变成了英文, ...