一、Hive的簡單使用
基本的命令和MySQL的命令差不多
首先在 /opt/datas 下創建數據 students.txt
1001 zhangsan
1002 lisi
1003 wangwu
顯示有多少數據庫: show databases; 使用某個數據庫: use 數據庫名稱; 顯示當前數據庫下的表: show tables; 創建數據表 : create table student (id int,name string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'; 顯示表的結構 : desc student; 從外部導入數據: load data local inpath '/opt/datas/students.txt' into table student;
二、 安裝Mysql
將Mysql安裝包上傳到服務器上,然后解壓壓縮包,使用命令:unzip mysql-libs.zip
查看系統是否自帶Mysql,將系統上的MySQL卸載
然后首先安裝Mysql-Server 其中有個重要的目錄要查看 里面記錄着Mysql的隨機密碼
mysql的隨機密碼為:MIgbmURIlR0Uskh9
然后安裝Mysql客戶端: rpm -ivh MySQL-client-5.6.24-1.el6.x86_64.rpm
啟動Mysql服務命令:service mysql start
登錄到Mysql上,然后修改密碼: set password=password('123456');
OK,退出Mysql之后在重新登錄一下,登錄成功!
三、Hive配置metastore
首先進入到Hive的安裝目錄中 /opt/moudles/hive-.....
創建一個文件 hive-site.xml 想里面配置連接Mysql的數據信息 賬號 密碼 連接地址 、驅動(這個驅動需要拷貝過來)
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://hadoop-senior.zuoyan.com:3306/metastore?createDatabaseIfNotExist=true</value> <description>JDBC connect string for a JDBC metastore</description> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> <description>Driver class name for a JDBC metastore</description> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>root</value> <description>username to use against metastore database</description> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>123456</value> <description>password to use against metastore database</description> </property>
<property>
<name>hive.cli.print.header</name>
<value>true</value>
<description>Whether to print the names of the columns in query output.</description>
</property>
<property>
<name>hive.cli.print.current.db</name>
<value>true</value>
<description>Whether to include the current database in the Hive prompt.</description>
</property>
</configuration>
拷貝連接數據庫的驅動:
cp mysql-connector-java-5.1.27-bin.jar /opt/modules/hive-0.13.1/lib/
配置好后執行一下 bin/hive 在mysql數據庫中可以看見 hive給自動創建的數據庫
查看一下這個數據庫中的表
這個就是Hive的元數據所創建的
四、Hive的基本使用
# 查看 所有的數據庫
show databases ;
# 創建數據庫 create database db_hive ;
# 創建一張數據表 create table student(id int, name string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';
# 顯示當前數據庫下的所有數據表 show tables ;
# 查看表的結構 desc student ;
# 更詳細的查看表的結構 desc extended student ;
# 也是詳細的查看表的結構(格式化 推薦) desc formatted student ; # 使用某個數據庫 use db_hive ;
# 將本地的數據導入到數據庫中 load data local inpath '/opt/datas/students.txt'into table db_hive.student ; # 查看Hive中支持的命令 show functions ;
# 顯示某個功能的用法 desc function upper ;
# 對這個功能的使用來一個Demo desc function extended upper ;
# 測試這個函數 select id ,upper(name) uname from db_hive.student ;
五、配置Hive的日志
將Hive安裝目錄中conf下的 hive-log4j.properties.template 重命名
日志默認存放的位置是 系統中的/tmp/${User}/hive.log
故意查詢錯誤一下,然后查看日志
修改Hive日志的存放地址,(在Hive的安裝目錄中創建logs文件夾用來存放日志,然后配置 hive-log4j.properties 中的 hive.log.dir
hive.log.threshold=ALL
hive.root.logger=INFO,DRFA
hive.log.dir=/opt/modules/hive-0.13.1/logs
hive.log.file=hive.log
設置啟動打印日志
bin/hive --hiveconf hive.root.logger=INFO,console
如果以這種方式啟動的話,Hive會直接將日志打印在控制台上