1. Hive元資料庫是用來做什麼的,存儲哪些信息
本質上只是用來存儲hive中有哪些資料庫,哪些表,表的模式,目錄,分區,索引以及命名空間。為資料庫創建的目錄一般在hive數據倉庫目錄下。
2. 怎樣查看hive建的外部表的資料庫
1
進入HIVE之前要把HADOOP給啟動起來,因為HIVE是基於HADOOP的。所有的MR計算都是在HADOOP上面進行的。
2
在命令行中輸入:hive。這個時候就可以順利的進入HIVE了。當然了,如果你想直接執行HQL腳本文件可以這樣:hive
-f
xxxxx.hql。
3
進入hive之後一一般默認的資料庫都是default。如果你切換資料庫的話所建的表都會是在default資料庫裡面。
4
創建資料庫的語法是:create
database
database_name;非常簡單的,其實hive跟mysql的語法還是比較相似的。為什麼呢?請繼續往下
5
切換資料庫的時候可以輸入:use
database_name;
查看所有資料庫的時候可以輸入:show
databases;
查看所有表的時候可以輸入:show
tables
6
看錶結構的時候可以輸入:describe
tab_name;
3. hive怎麼實現update操作
1、要想使用Hive首先需要啟動hadoop,因為hive的使用是依賴於hadoop的hdfs文件系統以及MapRece計算的,下內圖是啟動hadoop,如容下圖。
4. 為什麼我的hive 不能創建資料庫和表 create database userdb
-創建資料庫
create database if not exists sopdm
comment 『this is test database』
with dbproperties(『creator』=』gxw』,』date』=』2014-11-12』) --資料庫鍵值對屬性信息
location 『/my/preferred/directory』;
--查看資料庫的描述信專息和文屬件目錄位置路徑信息
describe database sopdm;
--查看資料庫的描述信息和文件目錄位置路徑信息(加上資料庫鍵值對的屬性信息)
describe database extended sopdm;
5. hive能像關系資料庫那樣,建多個庫嗎
:目前我知道的方法是把你希望添加的數據寫入到文本中,然後從文本導入到你的表格中。 但是,hive不知道oracle的insert into , update。 load data [local] inpath 'yourfile_location' [overwrite] into your_table;
6. linux中安裝的hive所連接的資料庫是哪個
sudo apt-get install mysql-server mysql-client
1). 建立資料庫hive,
create database hive;
2). 創建用戶hive
create user 『hive』@』%』 identified by 『hive』;
3).創建hive用戶,並授權
grant all on hive.* to hive@』%』 identified by 『hive』;
flush privileges
在啟動內mysql時可能遇到的容問題:
7. Hive基礎之Hive是什麼以及Hive使用場景
Hive是什麼
1)Hive 是建立在Hadoop (HDFS/MR)上的用於管理和查詢結果化/非結構化的數據倉庫;
2)一種可以存儲、查詢和分析存儲在Hadoop 中的大規模數據的機制;
3)Hive 定義了簡單的類SQL 查詢語言,稱為HQL,它允許熟悉SQL 的用戶查詢數據;
4)允許用Java開發自定義的函數UDF來處理內置無法完成的復雜的分析工作;
5)Hive沒有專門的數據格式(分隔符等可以自己靈活的設定);
ETL的流程(Extraction-Transformate-Loading):將關系型資料庫的數據抽取到HDFS上,hive作為數據倉庫,經過hive的計算分析後,將結果再導入到關系型資料庫的過程。
Hive是構建在Hadoop之上的數據倉庫
1)使用HQL作為查詢介面;
2)使用HDFS作為存儲;
3)使用MapRece作為計算;
Hive應用場景
數據源:
1)文件數據,如中國移動某設備每天產生大量固定格式的文件;
2)資料庫
以上兩種不同的數據源有個共同點:要使用hive,那麼必須要將數據放到hive中;通常採用如下兩種方式:
1)文件數據:load到hive
2)資料庫: sqoop到hive
數據的離線處理;
hive的執行延遲比較高,因為hive常用於數據分析的,對實時性要求不高;
hive優勢在於處理大數據,對於處理小數據沒有優勢,因為hive的執行延遲比較高。
處理數據存放在hive表中,那麼前台系統怎麼去訪問hive的數據呢?
先將hive的處理結果數據轉移到關系型資料庫中才可以,sqoop就是執行導入導出的操作