Hadoop之命令操作
在虚拟机上删除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
2.启动hive服务端(克隆一台)
另一种启动hive (直接启动):
创建表: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');
4.针对分区数据进行查询
a.统计10月17号的总PV
select count(*) from t_access where dt='20170804';