1.hive概述 Apache Hive數據倉庫軟體有助於使用SQL讀取,編寫和管理駐留在分散式存儲中的大型數據集。可以將結構投影到已存儲的數據中。提供了命令行工具和JDBC驅動以將用戶連接到Hive。 2.hive優缺點 優點: (1)操作介面採用了sql,簡化開發,減少學習成本。 (2)避免手寫 ...
1.hive概述
Apache Hive數據倉庫軟體有助於使用SQL讀取,編寫和管理駐留
在分散式存儲中的大型數據集。可以將結構投影到已存儲的數據中。
提供了命令行工具和JDBC驅動以將用戶連接到Hive。
2.hive優缺點
優點:
(1)操作介面採用了sql,簡化開發,減少學習成本。
(2)避免手寫mapreduce程式
(3)hive執行延遲較高,使用場景大多用在實時性要求不強的情景
(4)優點在於處理大數據
(5)支持自定義函數
缺點:
(1)hive的sql表達能力有限(HSQL)
(2)hive效率低 hive調優比較難
3.hive架構
提供了一系列的介面:hive shell、jdbc/odbc、webui
4.hive安裝
(1)下載安裝包 官網地址: hive.apache.org
(2)上傳安裝包到linux操作系統
alt+p(此處使用的secureCRT)
(3)解壓
tar -zxvf .tar -C /opt/moudle/
(4)修改配置文件
conf下的 hive-env.sh.temple重命名為hive-env.sh
修改內容:
HADOOP_HOME=/opt/moudle/hadoop-2.8.4(修改成自己的hadoop安裝目錄)
export HIVE_CONF_DIR=/opt/moudle/hive/conf(修改成自己的hive的conf目錄)
(5)啟動hdfs和yarn集群
start-dfs.sh
start-yarn.sh
註意:hive是一種操作數據的軟體,它本身不具備存儲功能,它的存儲依賴的是hdfs,因此啟動hive必須啟動hadoop。
(6)在hdfs上創建文件夾
hdfs dfs -mkdir /tmp
hdfs dfs -mkdir -p /user/hive/warehouse/
(7)啟動hive(切換到hive的安裝目錄下再輸入以下命令)
bin/hive
5.hive測試
1)查看資料庫
show databases;
2)使用資料庫
use default;
3)查看表
show tables;
4)創建表
create table student(id int,name string);
5)插入數據
insert into student values(1,"Lilei");
6)查詢
select * from student;
7)刪除表
drop table student;
8)退出終端
quit;
6.DDL數據定義
1)創建資料庫
1.1)查看資料庫
show databases;
1.2)創建資料庫
create database db_hive;
1.3)創建資料庫標準寫法
create database if not exists db_hive;
1.4)創建資料庫指定所在hdfs路徑
create database hive_db1 location '/hive_db';
2)修改資料庫
2.1)查看資料庫結構
desc database hive_db;
2.2)添加描述信息
alter database hive_db set dbproperties('dataname'='animal');
2.3)查看拓展屬性
desc database extended hive_db;
3)查詢資料庫
3.1)顯示資料庫
show databases;
3.2)篩選查詢的資料庫
show database like 'db*';
4)刪除資料庫
4.1)刪除數據路
drop database hive_db;
4.2)刪除數據的標準寫法
drop database if exists hive_db;
5)創建表
5.1)創建表
create table student(id int,name string) row format delimited fields terminated by ’\t‘;
6)管理表
不擅長做數據共用,刪除hive中管理表,數據刪除。
6.1)載入數據
load data local inpath '/root/itstar.txt' into table student;
6.2)查詢並保存到一張新的表
create table if not exists student1 as select * from student where name = 'Lilei';
6.3)查詢表結構
desc formatted emp;
查詢結果:
Table Type: MANAGED_TABLE
7)外部表
hive不認為這張表擁有這份數據,刪除該表,數據不刪除。擅長做數據共用。
7.1)創建外部表
>create external table if not exists emptable(empno int,ename string)
> row format
> delimited fields
> terminated by '\t';
7.2)導入數據
load data local inpath '/root/emp.txt' into table emptable;
7.3)查看表的結構
desc formatted emptable;
查詢結果:
Table Type: EXTERNAL_TABLE
7.4)刪除表
drop table emptable;
提示:再次創建相同的表 欄位相同 將自動關聯數據!
如果對你有幫助,歡迎轉載!