Hive系列第三章
1、 创建库:create database mydb;
2、 查看库:show databases;
3、 切换数据库:use mydb;
见2.5.8 启动hive客户端
先知道:beeline相当于客户端,hiveserver2相当于服务端
这个需要配置一些东西
1、在hive-site.xml配置文件中添加如下信息:
<property>
<name>hive.server2.thrift.bind.hostname>
<value>hadoop10value>
property>
<property>
<name>hive.server2.thrift.portname>
<value>10000value>
property>
2、启动hiveserver2
[root@hadoop10 bin]# pwd
/software/hive/bin
[root@hadoop10 bin]# hive --service hiveserver2
3、启动beeline客户端
[root@hadoop10 bin]# pwd
/software/hive/bin
[root@hadoop10 bin]# hive --service hiveserver2
[root@hadoop10 bin]# beeline -u jdbc:hive2://hadoop10:10000 -n root
[root@hadoop10 hive]# bin/hive -help
which: no hbase in (.:.:.:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/software/jdk/bin:/software/zk/bin:/software/hadoop/bin:/software/hadoop/sbin:/software/hive/bin:/root/bin)
Hive Session ID = 81616d71-9fbb-4c8a-a86d-3f652bc95fee
usage: hive
-d,--define Variable substitution to apply to Hive
commands. e.g. -d A=B or --define A=B
--database Specify the database to use
-e SQL from command line
-f SQL from files
-H,--help Print help information
--hiveconf Use value for given property
--hivevar Variable substitution to apply to Hive
commands. e.g. --hivevar A=B
-i Initialization SQL file
-S,--silent Silent mode in interactive shell
-v,--verbose Verbose mode (echo executed SQL to the
console)
[root@hadoop10 bin]# hive -e "show databases;"
Hive Session ID = 933775ac-6ba5-4a67-90b3-22b356462f96
Logging initialized using configuration in jar:file:/software/hive/lib/hive-common-3.1.2.jar!/hive-log4j2.properties Async: true
Hive Session ID = 9c49687c-79c9-413d-862f-21ca5b5690a0
OK
default
mydb
Time taken: 1.928 seconds, Fetched: 2 row(s)
[root@hadoop10 bin]#
1、在mydb库下面创建一个表student
hive> use mydb;
OK
Time taken: 0.399 seconds
hive> show tables;
OK
Time taken: 0.092 seconds
hive> create table student(id int, name string, sex string, age int, department string) row format delimited fields terminated by ",";
OK
Time taken: 1.088 seconds
hive> show tables;
OK
student
Time taken: 0.033 seconds, Fetched: 1 row(s)
hive> select * from student;
OK
Time taken: 1.106 seconds
hive> load data local inpath "/home/data/student.txt" into table student;
Loading data to table mydb.student
OK
Time taken: 0.835 seconds
hive> select * from student;
OK
95002 李一 女 19 IS
95017 李二 女 18 IS
95018 李三 女 19 IS
95013 李四 男 21 CS
95014 李五 女 19 CS
95019 李六 女 19 IS
95020 李七 男 21 IS
95003 李八 女 22 MA
95004 李九 男 19 IS
95012 李十 女 20 CS
95010 王一 男 19 CS
95005 王二 男 18 MA
95006 王三 男 23 CS
95007 王四 女 19 MA
95008 王五 女 18 CS
95021 王六 男 17 MA
95022 王七 男 20 MA
95001 王九 男 20 CS
95011 张三 男 18 MA
95009 张四 女 18 MA
95015 张五 男 18 MA
Time taken: 0.118 seconds, Fetched: 21 row(s)
hive>
2、在/home/data下面建一个存放sql语句的文件,并写入正确的语句
[root@hadoop10 data]# pwd
/home/data
[root@hadoop10 data]# vim file.sql
[root@hadoop10 data]# cat file.sql
select * from mydb.student;
[root@hadoop10 data]#
3、执行自己编写的file.sql文件
[root@hadoop10 data]# hive -f /home/data/file.sql
which: no hbase in (.:.:.:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/software/jdk/bin:/software/zk/bin:/software/hadoop/bin:/software/hadoop/sbin:/software/hive/bin:/root/bin)
Hive Session ID = d3542b41-d012-4c53-ba3d-2c68ec119020
Logging initialized using configuration in jar:file:/software/hive/lib/hive-common-3.1.2.jar!/hive-log4j2.properties Async: true
Hive Session ID = 64154679-2a91-4383-93ba-40d427d9b87e
OK
95002 李一 女 19 IS
95017 李二 女 18 IS
95018 李三 女 19 IS
95013 李四 男 21 CS
95014 李五 女 19 CS
95019 李六 女 19 IS
95020 李七 男 21 IS
95003 李八 女 22 MA
95004 李九 男 19 IS
95012 李十 女 20 CS
95010 王一 男 19 CS
95005 王二 男 18 MA
95006 王三 男 23 CS
95007 王四 女 19 MA
95008 王五 女 18 CS
95021 王六 男 17 MA
95022 王七 男 20 MA
95001 王九 男 20 CS
95011 张三 男 18 MA
95009 张四 女 18 MA
95015 张五 男 18 MA
Time taken: 2.502 seconds, Fetched: 21 row(s)
[root@hadoop10 data]#
4、给结果数据输出到特定的文件中
[root@hadoop10 data]# hive -f /home/data/file.sql > /home/data/file_result.txt
which: no hbase in (.:.:.:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/software/jdk/bin:/software/zk/bin:/software/hadoop/bin:/software/hadoop/sbin:/software/hive/bin:/root/bin)
Hive Session ID = 4bc46897-0bad-4866-89ee-521c6ef950af
Logging initialized using configuration in jar:file:/software/hive/lib/hive-common-3.1.2.jar!/hive-log4j2.properties Async: true
Hive Session ID = c2b7a70c-4523-4130-8a97-443a86e272d7
OK
Time taken: 2.054 seconds, Fetched: 21 row(s)
[root@hadoop10 data]# cat file_result.txt
95002 李一 女 19 IS
95017 李二 女 18 IS
95018 李三 女 19 IS
95013 李四 男 21 CS
95014 李五 女 19 CS
95019 李六 女 19 IS
95020 李七 男 21 IS
95003 李八 女 22 MA
95004 李九 男 19 IS
95012 李十 女 20 CS
95010 王一 男 19 CS
95005 王二 男 18 MA
95006 王三 男 23 CS
95007 王四 女 19 MA
95008 王五 女 18 CS
95021 王六 男 17 MA
95022 王七 男 20 MA
95001 王九 男 20 CS
95011 张三 男 18 MA
95009 张四 女 18 MA
95015 张五 男 18 MA
[root@hadoop10 data]#
主要要有分号
hive> dfs -ls /;
Found 13 items
drwxrwxrwx - root supergroup 0 2021-09-09 17:41 /aa
drwxrwxrwx - root supergroup 0 2021-09-09 20:05 /bb
drwxr-xr-x - root supergroup 0 2021-09-06 23:28 /test
-rw-r--r-- 2 root supergroup 30881207 2021-09-06 23:33 /test_big.txt
drwx-wx-wx - root supergroup 0 2021-09-22 19:13 /tmp
drwxr-xr-x - root supergroup 0 2021-09-21 18:58 /user
drwxr-xr-x - root supergroup 0 2021-09-06 23:06 /wc
drwxr-xr-x - root supergroup 0 2021-09-02 22:29 /wcinput
drwxr-xr-x - root supergroup 0 2021-09-22 19:19 /wcout
drwxr-xr-x - root supergroup 0 2021-09-02 22:32 /wcoutput
-rw-r--r-- 1 root supergroup 37 2021-09-09 16:56 /wordcount.txt
drwxr-xr-x - root supergroup 0 2021-09-13 22:28 /wordout0913
drwxr-xr-x - root supergroup 0 2021-09-13 22:33 /wordout0913_2
hive>
在用户的家目录里面,要是用root用户就在/root目录下,要是用其他的用户,就在/home/用户名目录下。
通过ls -al 查看所有文件,包含隐藏文件
通过cat .hivehistory 查看历史执行过的命令
[root@hadoop10 ~]# ls -al
total 84
dr-xr-x---. 17 root root 4096 Sep 24 15:40 .
dr-xr-xr-x. 18 root root 240 Aug 29 20:07 ..
-rw-------. 1 root root 4721 Aug 30 02:57 anaconda-ks.cfg
-rw-------. 1 root root 14042 Sep 22 22:01 .bash_history
-rw-r--r--. 1 root root 18 Dec 29 2013 .bash_logout
-rw-r--r--. 1 root root 176 Dec 29 2013 .bash_profile
-rw-r--r--. 1 root root 176 Dec 29 2013 .bashrc
drwxr-xr-x. 2 root root 21 Sep 21 18:43 .beeline
drwx------. 14 root root 4096 Aug 29 19:18 .cache
drwxr-xr-x. 14 root root 261 Aug 30 02:59 .config
-rw-r--r--. 1 root root 100 Dec 29 2013 .cshrc
drwx------. 3 root root 25 Aug 30 02:59 .dbus
drwxr-xr-x. 2 root root 6 Aug 30 02:59 Desktop
drwxr-xr-x. 2 root root 6 Aug 30 02:59 Documents
drwxr-xr-x. 2 root root 6 Aug 30 02:59 Downloads
-rw-------. 1 root root 16 Aug 30 02:59 .esd_auth
-rw-r--r--. 1 root root 60 Sep 24 15:27 .hivehistory
-rw-------. 1 root root 624 Sep 6 20:24 .ICEauthority
drwx------. 3 root root 19 Aug 30 02:59 .local
drwx------. 5 root root 66 Aug 29 19:02 .mozilla
drwxr-xr-x. 2 root root 6 Aug 30 02:59 Music
-rw-------. 1 root root 83 Sep 21 18:43 .mysql_history
-rw-------. 1 root root 3699 Aug 30 02:57 original-ks.cfg
drwxr-xr-x. 2 root root 6 Aug 30 02:59 Pictures
drwxr-xr-x. 2 root root 6 Aug 30 02:59 Public
drwx------. 2 root root 80 Aug 29 19:57 .ssh
-rw-r--r--. 1 root root 129 Dec 29 2013 .tcshrc
drwxr-xr-x. 2 root root 6 Aug 30 02:59 Templates
drwxr-xr-x. 2 root root 6 Aug 30 02:59 Videos
-rw-------. 1 root root 6108 Sep 24 15:40 .viminfo
-rw-------. 1 root root 229 Sep 24 15:35 .Xauthority
[root@hadoop10 ~]# cat .hivehistory
show databases;
create database mydb;
show databases;
quit;
[root@hadoop10 ~]#
默认位置:/tmp/root/hive.log文件中
[root@hadoop10 root]# ll
total 156
drwx------. 2 root root 6 Sep 24 15:37 21f5331b-82cd-4d0a-be3b-3b3fc0d62180
-rw-r--r--. 1 root root 0 Sep 24 15:34 21f5331b-82cd-4d0a-be3b-3b3fc0d621806356445313698981042.pipeout
-rw-r--r--. 1 root root 0 Sep 24 15:34 21f5331b-82cd-4d0a-be3b-3b3fc0d621807985755165757000647.pipeout
drwx------. 2 root root 6 Sep 24 15:34 66a87d5b-e275-4b26-a50d-7bd7efa85a2d
-rw-r--r--. 1 root root 0 Sep 24 15:34 66a87d5b-e275-4b26-a50d-7bd7efa85a2d1344584666254365059.pipeout
-rw-r--r--. 1 root root 0 Sep 24 15:34 66a87d5b-e275-4b26-a50d-7bd7efa85a2d1624881081861789479.pipeout
-rw-r--r--. 1 root root 132489 Sep 24 15:44 hive.log
-rw-r--r--. 1 root root 23509 Sep 21 19:08 hive.log.2021-09-21
[root@hadoop10 root]# pwd
/tmp/root
[root@hadoop10 root]# cat hive.log
若想修改位置,可以按照下面的步骤操作:
1、重命名 hive-log4j2.properties.template 为 hive-log4j2.properties
2、在 hive-log4j2.properties 文件中修改 log 存放位置就可以啦
hive.log.dir=/home/data/logs (就是你想存放的日志结果的位置)
在 hive-site.xml 中加入如下配置即可
hive.cli.print.header
true
hive.cli.print.current.db
true
测试结果如下:
hive (mydb)> select * from student;
OK
student.id student.name student.sex student.age student.department
95002 李一 女 19 IS
95017 李二 女 18 IS
95018 李三 女 19 IS
95013 李四 男 21 CS
95014 李五 女 19 CS
95019 李六 女 19 IS
95020 李七 男 21 IS
95003 李八 女 22 MA
95004 李九 男 19 IS
95012 李十 女 20 CS
95010 王一 男 19 CS
95005 王二 男 18 MA
95006 王三 男 23 CS
95007 王四 女 19 MA
95008 王五 女 18 CS
95021 王六 男 17 MA
95022 王七 男 20 MA
95001 王九 男 20 CS
95011 张三 男 18 MA
95009 张四 女 18 MA
95015 张五 男 18 MA
Time taken: 0.131 seconds, Fetched: 21 row(s)
hive (mydb)>
声明:
文章中代码及相关语句为自己根据相应理解编写,文章中出现的相关图片为自己实践中的截图和相关技术对应的图片,若有相关异议,请联系删除。感谢。转载请注明出处,感谢。
微博地址: http://weibo.com/luoyepiaoxue2014 点击打开链接