當前位置:首頁 » 參考文獻 » hive刪資料庫

hive刪資料庫

發布時間: 2021-03-30 10:34:51

⑴ hive支持資料庫重命名嗎

hive暫不支持資料庫重命名操作.

  1. 用戶可以使用ALTER DATABASE命令為某個資料庫的 DBPROPERTIES 設置鍵-值對屬性值,來描述這個資料庫的屬性信息;

ALTER(DATABASE|SCHEMA)database_nameSETDBPROPERTIES(property_name=property_value,...);

2. 也可以使用該命令修改資料庫的用戶或許可權;

ALTER(DATABASE|SCHEMA)database_nameSETOWNER[USER|ROLE]user_or_role;

3. 但是資料庫的其他元數據信息都是不可以更改的,包括資料庫名和資料庫所在的目錄位置。

⑵ 在hive中怎樣刪除一張有數據的外部表,包括刪除數據

Hive的數據管理:

(1)元數據存儲

Hive 將元數據存儲在 RDBMS 中,有三種模式可以連接到資料庫:

Single User Mode:此模式連接到一個 In-memory 的資料庫 Derby,一般用於 Unit Test。

Multi User Mode:通過網路連接到一個資料庫中,這是最常用的模式。

Remote Server Mode:用於非 Java 客戶端訪問元資料庫,在伺服器端啟動一個 MetaStoreServer,客戶端則利用 Thrift 協議通過 MetaStoreServer來訪問元資料庫。

(2)數據存儲

首先,Hive 沒有專門的數據存儲格式,也沒有為數據建立索引,用戶可以非常自由地組織 Hive 中的表,只需要在創建表的時候告訴 Hive 數據中的列分隔符和行分隔符,它就可以解析數據了。

其次,Hive 中所有的數據都存儲在 HDFS 中,Hive 中包含4種數據模型:Table、External Table、Partition、Bucket。

Hive 中的 Table 和資料庫中的 Table 在概念上是類似的,每一個 Table 在 Hive 中都有一個相應的目錄來存儲數據。例如,一個表 pvs,它在 HDFS 中的路徑為:/wh/pvs,其中,wh 是在 hive-site.xml 中由 ${hive.metastore.warehouse.dir} 指定的數據倉庫的目錄,所有的 Table 數據(不包括 External Table)都保存在這個目錄中。

Partition 對應於資料庫中Partition 列的密集索引,但是 Hive 中 Partition 的組織方式與資料庫中的很不相同。在 Hive 中,表中的一個 Partition 對應於表下的一個目錄,所有的 Partition 數據都存儲在對應的目錄中。例如:pvs 表中包含 ds 和 city 兩個 Partition,則對應於 ds = 20090801, city = US 的 HDFS 子目錄為:/wh/pvs/ds=20090801/city=US;對應於 ds = 20090801, city = CA 的 HDFS 子目錄為:/wh/pvs/ds=20090801/city=CA。

Buckets 對指定列計算 hash,根據 hash 值切分數據,目的是為了便於並行,每一個 Buckets對應一個文件。將 user 列分散至 32 個Bucket上,首先對 user 列的值計算 hash,比如,對應 hash 值為 0 的 HDFS 目錄為:/wh/pvs/ds=20090801/city=US/part-00000;對應hash 值為 20 的 HDFS 目錄為:/wh/pvs/ds=20090801/city=US/part-00020。

External Table 指向已經在 HDFS 中存在的數據,可以創建 Partition。它和 Table 在元數據的組織結構上是相同的,而在實際數據的存儲上則有較大的差異。

在Table 的創建過程和數據載入過程(這兩個過程可以在同一個語句中完成)中,實際數據會被移動到數據倉庫目錄中。之後對數據的訪問將會直接在數據倉庫的目錄中完成。刪除表時,表中的數據和元數據將會被同時刪除。

External Table 只有一個過程,因為載入數據和創建表是同時完成的。實際數據是存儲在 Location 後面指定的 HDFS 路徑中的,它並不會移動到數據倉庫目錄中。

(3)數據交換

數據交換主要分為以下幾個部分

⑶ Hive中怎樣強制刪除資料庫

insert overwrite table t_table1 select * from t_table1 where XXXX;

其中xxx是你需要保留的數據的查詢條件。

如果清空內表,如容下:
insert overwrite table t_table1 select * from t_table1 where 1=0;

⑷ 已搭建好HADOOP,HIVE,怎麼進入並操作數據

[Hadoop@master ~]$ cd $HIVE_HOME --進入Hive目錄
[hadoop@master hive]$ bin/hive --進入hive環境
hive> show databases; 顯示已有資料庫
hive> use test; 使用資料庫
hive> select * from test_1; 顯示表中數據

⑸ hive中怎麼退出所連接的資料庫

1、hive 命令行模式,直抄接輸入/hive/bin/hive的執襲行程序,或者輸入 hive --service cli
用於linux平台命令行查詢,查詢語句基本跟mysql查詢語句類似
2、 hive web界面的 (埠號9999) 啟動方式
hive –service hwi &
用於通過瀏覽器來訪問hive,感覺沒多大用途

⑹ navicat for mysql怎麼連接hive資料庫

navicat 不支持鏈接hive庫,只支持連接hive 的metastore 庫,或者成為元數據。
有問題繼續問我

⑺ 怎樣修改hive元資料庫hadoop為utf8

表或者欄位有中文的時候需要修改hive的元資料庫的設置。
以mysql為例子,當mysql的
字元集專
設置成
utf8
的時候使用hive會有問題,屬詳細見hive的wiki。
所以當hive使用mysql作為元資料庫的時候mysql的字元集要設置成
latin1

為了保存那些utf8的中文,要將mysql中存儲注釋的那幾個欄位的字元集單獨修改為utf8。

⑻ hive中怎麼刪除表中的部分數據

工具:(1)HIVE;

(2)電腦;

(3)Xshell;

採用hdfs命令進行刪除表中的部分數據:

1、先使用hdfs查看該表實際分區以及數據目錄位置

hdfs dfs -ls /user/hive/warehouse/tbdata.db/表名小寫/;

⑼ hive中誤刪除了資料庫,怎麼恢復

--開啟行移動功能
alter table 表名 enable row movement;
--恢復表數據
flashback table 表名 to timestamp to_timestamp('2014-05-19 09:40:00','yyyy-mm-dd hh24:mi:ss');
上述時間為刪除數據的時間
備註:恢復後請關閉行移動功能

⑽ hive中怎麼在當下資料庫操作另一個資料庫數據

可以使用Sqoop、DataX、或者Hive存儲過程來完成。搜索"lxw的大數據田地",裡面有很多關於Hive的文章,肯定能找到你想要的。

熱點內容
塗鴉論文 發布:2021-03-31 13:04:48 瀏覽:698
手機資料庫應用 發布:2021-03-31 13:04:28 瀏覽:353
版面217 發布:2021-03-31 13:04:18 瀏覽:587
知網不查的資源 發布:2021-03-31 13:03:43 瀏覽:713
基金贖回參考 發布:2021-03-31 13:02:08 瀏覽:489
懸疑故事範文 發布:2021-03-31 13:02:07 瀏覽:87
做簡單的自我介紹範文 發布:2021-03-31 13:01:48 瀏覽:537
戰略地圖參考 發布:2021-03-31 13:01:09 瀏覽:463
收支模板 發布:2021-03-31 13:00:43 瀏覽:17
電氣學術會議 發布:2021-03-31 13:00:32 瀏覽:731