Hive隨手記——建庫

呆呆笨笨的魚發表於2015-02-26
HiveSQL 是 Hive查詢語言。和普遍使用的SQL很類似。(與Mysql 最接近)

Hive不支援行級插入操作、更新操作和刪除操作。
Hive不支援事物。

HiveSQL可以用於建立、修改、刪除資料庫、表、檢視、函式和索引。


一.建立資料庫

    Hive中資料庫的概念本質上僅僅是表的一個目錄或者名稱空間。

1.可以使用 SHOW DATABASES;   
檢視現有的資料有哪些

點選(此處)摺疊或開啟

  1. hive> show databases;
  2. OK
  3. default
  4. temp
  5. Time taken: 0.061 seconds, Fetched: 2 row(s)

也可以使用 SHOW DATABASES LIKE 't*';
查詢相關的資料庫

點選(此處)摺疊或開啟

  1. hive> show databases like \'t*\';
  2. OK
  3. temp
  4. Time taken: 0.047 seconds, Fetched: 1 row(s)


2.使用 CREATE DATABASE IF NOT EXISTS  dbname;  
建立資料庫

點選(此處)摺疊或開啟

  1. hive> create database mytest;
  2. OK
  3. Time taken: 0.315 seconds
使用DESCRIBE DATABASE 語句檢視資料庫

點選(此處)摺疊或開啟

  1. hive> describe database mytest;
  2. OK
  3. mytest hdfs://namenode:9000/user/hive/warehouse/mytest.db zhang USER
  4. Time taken: 0.05 seconds, Fetched: 1 row(s)
可以看到資料庫檔案在HDFS中的路徑位置。

在建立資料庫的時候,我們可以自行指定資料檔案建立的路徑位置,以及新增描述資訊等。

點選(此處)摺疊或開啟

  1. Time taken: 0.03 seconds, Fetched: 2 row(s)
  2. hive> create database mytest
  3. > comment \'this is my test hiveDB !\'
  4. > location \'/my/testDB\';
  5. OK
  6. Time taken: 0.114 seconds
  7. hive> describe database mytest;
  8. OK
  9. mytest this is my test hiveDB ! hdfs://namenode:9000/my/testDB zhang USER
  10. Time taken: 0.052 seconds, Fetched: 1 row(s)

還有一個命令DESCRIBE DATABASE EXTENDED dbname ; (書上說是為資料庫新增一些和其相關的 鍵-值 對 屬性資訊  ,沒有太理解這塊的用處是什麼)

點選(此處)摺疊或開啟

  1. hive> drop database mytest;
  2. OK
  3. Time taken: 0.086 seconds
  4. hive> show databases;
  5. OK
  6. default
  7. temp
  8. Time taken: 0.039 seconds, Fetched: 2 row(s)
  9. hive> create database mytest
  10. > with dbproperties (\'creator\' = \'criss\' ,\'date\' = \'2015-02-26\');
  11. OK
  12. Time taken: 0.078 seconds
  13. hive> describe database mytest;
  14. OK
  15. mytest hdfs://namenode:9000/user/hive/warehouse/mytest.db zhang USER
  16. Time taken: 0.032 seconds, Fetched: 1 row(s)
  17. hive> describe database extended mytest;
  18. OK
  19. mytest hdfs://namenode:9000/user/hive/warehouse/mytest.db zhang USER {date=2015-02-26, creator=criss}
  20. Time taken: 0.062 seconds, Fetched: 1 row(s)

可以使用 ALTER DATABASE 語句新增 鍵-值 資訊 , 注意: 無法刪除 或者 重置

點選(此處)摺疊或開啟

  1. hive> describe database extended mytest;
  2. OK
  3. mytest hdfs://namenode:9000/user/hive/warehouse/mytest.db zhang USER {date=2015-02-26, creator=criss}
  4. Time taken: 0.062 seconds, Fetched: 1 row(s)
  5. hive> alter database mytest set dbproperties (\'edited-by\' = \'zhang\');
  6. OK
  7. Time taken: 0.08 seconds
  8. hive> describe database extended mytest;
  9. OK
  10. mytest hdfs://namenode:9000/user/hive/warehouse/mytest.db zhang USER {date=2015-02-26, creator=criss, edited-by=zhang}
  11. Time taken: 0.055 seconds, Fetched: 1 row(s)






來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28929558/viewspace-1442107/,如需轉載,請註明出處,否則將追究法律責任。

相關文章