Hive入门+示例
0、总结
(1)在hive里创建一个数据库:test_db、testzhang_db
通过MySQL查询testzhang_db,是在hadoop_hive(存放元数据信息)----》DBS(表)---》即数据库的创建信息
通过hadoop查询,是值的默认存储路径:hdfs://hadoop000:8020/user/hive/warehouse
(2)在数据库里创建一张表:将txt文件变成hive里test_db、testzhang_db的一张表。--》再解释:在test_db中创建表,将数据加载到表中,使用sql统计数据。
1、安装mysql5.7
(1)安装步骤:centos7 下安装 mysql5.7 - 亚萌 - 博客园 (cnblogs.com)
(2)镜像中已有
2、进入MySQL
(1)注意与hive-site.xml里的mysql
jdbc:mysql://hadoop000:3306/hadoop_hive?createDatabaseIfNotExist=true
指定mysql,相当于在hadoop000这台机器上的3306端口,3306是mysql数据库的默认端口号,指向hadoop_hive数据库,
(2)进入MySQL
注意与hive-site.xml里的javax.jdo.option.ConnectionUserName、ConnectionPassword对应上
用户名是root,密码是root
show后,数据库是默认的三个:information_schema、mysql、performance_schema
[hadoop@hadoop000 ~]$ cd software/ [hadoop@hadoop000 software]$ mysql -uroot -proot
mysql> show databases;
(3)启动hive
注意以后beeline和hiveserver2需要配合使用
[hadoop@hadoop000 bin]$ pwd /home/hadoop/app/hive-1.1.0-cdh5.15.1/bin [hadoop@hadoop000 bin]$ hive
(4)在hive里创建测试数据库
hive> create database testzhang_db;
创建结束后,会在 mysql> show databases; 后出现第四个数据库hadoop_hive。
hadoop_hive里存放的是元数据信息。其中有20多张tables,是hive为我们创建的。
mysql> use hadoop_hive;
mysql> show tables;
查看DBS,即数据库的信息。是默认的hive数据库
hadoop000:8020是hadoop路径
/user/hive/warehouse是hive默认的路径
mysql> select * from DBS \G;
[hadoop@hadoop000 ~]$ hadoop fs -ls /user/hive/warehouse
(5)准备数据
将 helloworld.txt 变成hive里的表。
[hadoop@hadoop000 data]$ vi helloworld.txt
1 zhangsan 2 lisi 3 wangwu
[hadoop@hadoop000 data]$ pwd
/home/hadoop/data
(6)在test_db中创建表,将数据加载到表中,使用sql统计数据
统计的时候,会生成mapreduce作业。
hive> use test_db; hive> show tables; hive> create table helloworld(id int, name string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';
hive> show tables;
hive> select * from helloworld;
hive> load data local inpath '/home/hadoop/data/helloworld.txt' overwrite into table helloworld;
hive> select * from helloworld;
hive> select count(1) from helloworld;