创建文件夹
hadoop fs -mkdir /input
将本地文件存储至hadoop
hadoop fs -put E:\hadoop.docx /input
将hadoop上某个文件down至本地已有目录下
hadoop dfs –get /user/t/ok.txt /home/t
删除hadoop上指定文件夹(包含子目录等)
hadoop fs -rm -r -f /output
hdfs dfs –rmr /user/t
删除hadoop上指定文件
hdfs dfs –rm /user/t/ok.txt
在hadoop指定目录下新建一个空文件
hdfs dfs -touchz /user/new.txt
将hadoop上某个文件重命名
hdfs dfs –mv /user/test.txt /user/ok.txt (将test.txt重命名为ok.txt)
将hadoop指定目录下所有内容保存为一个文件,同时down至本地
hdfs dfs –getmerge /user /home/t
将正在运行的hadoop作业kill掉
hadoop job –kill [job-id]
查看帮助
hdfs dfs -help
运行程序
hadoop jar /E:\hadoop-2.7.7\share\hadoop\mapreduce\hadoop-mapreduce-examples-2.7.7.jar wordcount /input /output
查看目录
hadoop fs -ls output
查看结果
hadoop fs -cat output/part-r-0000
1.对hdfs操作的命令格式是hdfs dfs
1.1 -ls 表示对hdfs下一级目录的查看
1.2 -lsr 表示对hdfs目录的递归查看
1.3 -mkdir 创建目录
1.4 -put 从Linux上传文件到hdfs
1.5 -get 从hdfs下载文件到linux
1.6 -text 查看文件内容
1.7 -rm 表示删除文件
1.7 -rmr 表示递归删除文件
2.hdfs在对数据存储进行block划分时,如果文件大小超过block,那么按照block大小进行划分;不如block size的,划分为一个块,是实际数据大小。
hadoop常用命令:
hdfs dfs 查看Hadoop HDFS支持的所有命令
hdfs dfs –ls 列出目录及文件信息
hdfs dfs –lsr 循环列出目录、子目录及文件信息
hdfs dfs –put test.txt /user/sunlightcs 将本地文件系统的test.txt复制到HDFS文件系统的/user/sunlightcs目录下
hdfs dfs –get /user/sunlightcs/test.txt . 将HDFS中的test.txt复制到本地文件系统中,与-put命令相反
hdfs dfs –cat /user/sunlightcs/test.txt 查看HDFS文件系统里test.txt的内容
hdfs dfs –tail /user/sunlightcs/test.txt 查看最后1KB的内容
hdfs dfs –rm /user/sunlightcs/test.txt 从HDFS文件系统删除test.txt文件,rm命令也可以删除空目录
hdfs dfs –rmr /user/sunlightcs 删除/user/sunlightcs目录以及所有子目录
hdfs dfs –copyFromLocal test.txt /user/sunlightcs/test.txt 从本地文件系统复制文件到HDFS文件系统,等同于put命令
hdfs dfs –copyToLocal /user/sunlightcs/test.txt test.txt 从HDFS文件系统复制文件到本地文件系统,等同于get命令
hdfs dfs –chgrp [-R] /user/sunlightcs 修改HDFS系统中/user/sunlightcs目录所属群组,选项-R递归执行,跟linux命令一样
hdfs dfs –chown [-R] /user/sunlightcs 修改HDFS系统中/user/sunlightcs目录拥有者,选项-R递归执行
hdfs dfs –chmod [-R] MODE /user/sunlightcs 修改HDFS系统中/user/sunlightcs目录权限,MODE可以为相应权限的3位数或+/-{rwx},选项-R递归执行
hdfs dfs –count [-q] PATH 查看PATH目录下,子目录数、文件数、文件大小、文件名/目录名
hdfs dfs –cp SRC [SRC …] DST 将文件从SRC复制到DST,如果指定了多个SRC,则DST必须为一个目录
hdfs dfs –du PATH 显示该目录中每个文件或目录的大小
hdfs dfs –dus PATH 类似于du,PATH为目录时,会显示该目录的总大小
hdfs dfs –expunge 清空回收站,文件被删除时,它首先会移到临时目录.Trash/中,当超过延迟时间之后,文件才会被永久删除
hdfs dfs –getmerge SRC [SRC …] LOCALDST [addnl] 获取由SRC指定的所有文件,将它们合并为单个文件,并写入本地文件系统中的LOCALDST,选项addnl将在每个文件的末尾处加上一个换行符
hdfs dfs –touchz PATH 创建长度为0的空文件
hdfs dfs –test –[ezd] PATH 对PATH进行如下类型的检查: -e PATH是否存在,如果PATH存在,返回0,否则返回1 -z 文件是否为空,如果长度为0,返回0,否则返回1 -d 是否为目录,如果PATH为目录,返回0,否则返回1
hdfs dfs –text PATH 显示文件的内容,当文件为文本文件时,等同于cat,文件为压缩格式(gzip以及hadoop的二进制序列文件格式)时,会先解压缩 hdfs dfs –help ls 查看某个[ls]命令的帮助文档
---------------------------------HBASE---------------------------------------
1. list_namespace:查询所有命名空间
hbase(main):001:0> list_namespace
NAMESPACE
default
hbase
2. list_namespace_tables : 查询指定命名空间的表
hbase(main):014:0> list_namespace_tables 'hbase'
TABLE
meta
namespace
3. create_namespace : 创建指定的命名空间
hbase(main):018:0> create_namespace 'myns'
hbase(main):019:0> list_namespace
NAMESPACE
default
hbase
myns
4. describe_namespace : 查询指定命名空间的结构
hbase(main):021:0> describe_namespace 'myns'
DESCRIPTION
{NAME => 'myns'}
5. alter_namespace :修改命名空间的结构
hbase(main):022:0> alter_namespace 'myns', {METHOD => 'set', 'name' => 'eRRRchou'}
hbase(main):023:0> describe_namespace 'myns'
DESCRIPTION
{NAME => 'myns', name => 'eRRRchou'}
修改命名空间的结构=>删除name
hbase(main):022:0> alter_namespace 'myns', {METHOD => 'unset', NAME => 'name'}
hbase(main):023:0> describe_namespace 'myns'
6. 删除命名空间
hbase(main):026:0> drop_namespace 'myns'
hbase(main):027:0> list_namespace
NAMESPACE
default
hbase
7. 利用新添加的命名空间建表
hbase(main):032:0> create 'myns:t1', 'f1', 'f2'
DDL
1. 查询所有表
hbase(main):002:0> list
TABLE
HelloHbase
kylin_metadata
myns:t1
3 row(s) in 0.0140 seconds
=> ["HelloHbase", "kylin_metadata", "myns:t1"]
2. describe : 查询表结构
hbase(main):003:0> describe 'myns:t1'
{NAME => 'f1', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false', KEEP
_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', COMP
RESSION => 'NONE', MIN_VERSIONS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '6553
6', REPLICATION_SCOPE => '0'}
{NAME => 'f2', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false', KEEP
_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', COMP
RESSION => 'NONE', MIN_VERSIONS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '6553
6', REPLICATION_SCOPE => '0'}
3. 创建分片表
hbase(main):007:0> create 'myns:t2', 'f1', SPLITS => ['10', '20', '30', '40']
4. 修改表,添加修改列簇信息
hbase(main):009:0> alter 'myns:t1', {NAME=>'info1'}
hbase(main):010:0> describe 'myns:t1'
5. 删除列簇
hbase(main):014:0> alter 'myns:t1', {'delete' => 'info1'}
hbase(main):015:0> describe 'myns:t1'
6. 删除表
hbase(main):016:0> disable 'myns:t1'
hbase(main):017:0> drop 'myns:t1'
DML
用到的表创建语句:
hbase(main):011:0> create 'myns:user_info','base_info','extra_info'
1. 插入数据(put命令,不能一次性插入多条)
hbase(main):012:0> put 'myns:user_info','001','base_info:username','张三'
2. scan扫描
hbase(main):024:0> scan 'myns:user_info'
3. 通过指定版本查询
hbase(main):024:0> scan 'myns:user_info', {RAW => true, VERSIONS => 1}
hbase(main):024:0> scan 'myns:user_info', {RAW => true, VERSIONS => 2}
4. 查询指定列的数据
hbase(main):014:0> scan 'myns:user_info',{COLUMNS => 'base_info:username'}
5. 分页查询
hbase(main):021:0> scan 'myns:user_info', {COLUMNS => ['base_info:username'], LIMIT => 10, STARTROW => '001'}
6. get查询
hbase(main):015:0> get 'myns:user_info','001','base_info:username'
hbase(main):017:0> put 'myns:user_info','001','base_info:love','basketball'
hbase(main):018:0> get 'myns:user_info','001'
7. 根据时间戳查询 是一个范围,包头不包尾
hbase(main):029:0> get 'myns:user_info','001', {'TIMERANGE' => [1571650017702, 1571650614606]}
8. hbase排序
插入到hbase中去的数据,hbase会自动排序存储:
排序规则: 首先看行键,然后看列族名,然后看列(key)名; 按字典顺序
9. 更新数据
hbase(main):010:0> put 'myns:user_info', '001', 'base_info:name', 'rock'
hbase(main):011:0> put 'myns:user_info', '001', 'base_info:name', 'eRRRchou'
10. incr计数器
hbase(main):053:0> incr 'myns:user_info', '002', 'base_info:age3'
11. 删除
hbase(main):058:0> delete 'myns:user_info', '002', 'base_info:age3'
12. 删除一行
hbase(main):028:0> deleteall 'myns:user_info','001'
13. 删除一个版本
hbase(main):081:0> delete 'myns:user_info','001','extra_info:feature', TIMESTAMP=>1546922931075
14. 删除一个表
hbase(main):082:0> disable 'myns:user_info'
hbase(main):083:0> drop 'myns:user_info'
15. 判断表是否存在
hbase(main):084:0> exists 'myns:user_info'
16. 表生效和失效
hbase(main):085:0> enable 'myns:user_info'
hbase(main):086:0> disable 'myns:user_info'
17. 统计表行数
hbase(main):088:0> count 'myns:user_info'
18. 清空表数据
hbase(main):089:0> truncate 'myns:user_info'