欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Hadoop之命令操作

程序员文章站 2024-03-23 08:27:22
...


在虚拟机上删除hdfs文件:
删除hdfs下的文件: hadoop fs -rm /文件夹名
删除hdfs下的文件夹:hadoop fs -rm -r 文件名
查看根目录下的内容: hadoop fs -cat /文件名
增加权限:chmod +x 文件名
ps -ef|grep 文件名 :查看某个进程号
复制文件: cp 文件名 文件名
mv 既可以改文件名也可以移动文件
将一台机器上的文件夹移动到另一台机器:scp -r 文件路径 hdp-2:$PWD

批量替换文件里面的内容:
1。vi a.txt(文件名)
2。按esc键
3。按shift+:
4。在后面输入:%s/a/b/g
注:s:代表 substitute(替换)%:代表所有行  a替换成b  g:代表global(全体的)

在hive中进行操作:

首先进入hive:

1.启动hiveserver

Hadoop之命令操作

2.启动hive服务端(克隆一台)

Hadoop之命令操作

另一种启动hive (直接启动):

Hadoop之命令操作

 

创建表:create table 库名.表名(id string,name string ,age string);

例:create table person.teacher(id string,name string,age string);

往表中插入数据:insert table  库名.表名 values(id ,name  ,age );

例:insert into teacher values ('1','zhangsan','25');

删除表:drop table 表名;

一个分区字段的实例:

示例如下:

1.创建带分区的表

create table person.t_access(ip string,url string,access_time string)
partitioned by(dt string)   #分区
row format delimited
fields terminated by ',';

2.做假数据 在/root/hive_data 里面创建access.log1文件

192.168.33.2,http://www.sina.com/a,2019-10-17 20:08:24
192.168.33.3,http://www.sina.com/b,2019-10-17 21:08:24
192.168.33.4,http://www.sina.com/a,2019-10-17 22:08:24
192.168.33.5,http://www.sina.com/c,2019-10-17 23:08:24
192.168.33.2,http://www.sina.com/a,2019-10-17 24:08:24
192.168.33.7,http://www.sina.com/b,2019-10-17 20:09:24
192.168.33.2,http://www.sina.com/a,2019-10-17 20:12:24

另一组假数据  access.log2

192.168.33.2,http://www.sina.com/a,2019-10-18 20:08:24
192.168.33.3,http://www.sina.com/b,2019-10-18 21:08:24
192.168.33.4,http://www.sina.com/a,2019-10-18 22:08:24
192.168.33.5,http://www.sina.com/c,2019-10-18 23:08:24
192.168.33.2,http://www.sina.com/a,2019-10-18 24:08:24
192.168.33.7,http://www.sina.com/b,2019-10-18 20:09:24
192.168.33.2,http://www.sina.com/a,2019-10-18 20:12:24

3.向分区中导入数据:(在hive下进行),将两组假数据传入到表中

load data local inpath '/root/hive_data/access.log1' into table t_access partition(dt='20191017');

load data local inpath '/root/hive_data/access.log2' into table t_access partition(dt='20191017');

Hadoop之命令操作


4.针对分区数据进行查询

a.统计10月17号的总PV 

select count(*) from t_access where dt='20170804';