當前位置:首頁 » 存儲配置 » hive存儲格式

hive存儲格式

發布時間: 2022-01-08 05:15:27

A. hive 里的時間是什麼數據類型

HIVE里有兩種時間類型:DATE類和TIMESTAMP類
DATE類保存形如『2017-05-05 00:00:00.000』這種數據, TIMESTAMP保存的是一個10位的整數, 即UNIX系統下的時間戳記法。可以通過from_unixtime()和unix_timestamp()函數互相轉換。
當然你也可以直接存成string格式。

B. hive的存儲格式parquet和ocfile的區別

你輸入sqoop import 的目錄在哪裡?如果在/usr/sqoop下輸入的命令,那麼在/usr/sqoop下輸入hive登入,然後show tables查看。
你輸入sqoop import 的目錄在哪裡?如果在/usr/sqoop下輸入的命令,那麼在/usr/sqoop下輸入hive登入,然後show tables查看。
hive 0.13以後自帶支持。

C. hive的Hive定義

Hive是建立在 Hadoop 上的數據倉庫基礎構架。它提供了一系列的工具,可以用來進行數據提取轉化載入(ETL),這是一種可以存儲、查詢和分析存儲在 Hadoop 中的大規模數據的機制。Hive 定義了簡單的類 sql 查詢語言,稱為 HQL,它允許熟悉 SQL 的用戶查詢數據。同時,這個語言也允許熟悉 MapRece 開發者的開發自定義的 mapper 和 recer 來處理內建的 mapper 和 recer 無法完成的復雜的分析工作。
Hive 沒有專門的數據格式。 Hive 可以很好的工作在 Thrift 之上,控制分隔符,也允許用戶指定數據格式。

D. 怎麼看spark sql表的存儲格式是text還是parquet

標簽:hive和sparksql計算引擎在text導入parquet格式的hive存儲引擎分片數量機制
表的hive導入:
create
table
XXXXXXX201512
(N多欄位構成)STORED
AS
PARQUETFILE;
insert
into
XXXXXXX201512
select
*
from
XXXXXXX20151231;

E. 結構體類型 怎麼調用 hive

寫在前邊的話:
同樣是在做豆瓣電影數據分析的小課題的時候遇到的一個問題:hive表中的電影類型存儲格式為array,那麼我如何針對每一個類型做統計呢?
本來是想在基於豆瓣電影數據進行相關的數據分析項目 中進行相關解釋說明的,仔細想了下,剛好拿出來,對hive的三個復雜數據類型做一個總結性的學習
關於Hive的一些其他數據類型使用參考:Hive的數據類型解析和表的操作實例
1:Array
顧名思義就是數組,使用方式 array<>
1):創建表
拿電影數據為例,數據的維度包括

創建movie_message表:
[html] view plain
create table movie_message(
id int,
title string,
yan array<string>,
bianju array<string>,
leixing array<string>,
zhuyan array<string>,
year int,
month int,
shichang int,
disnum int,
score float
)
comment "this table about movie's message"
row format delimited fields terminated by ","
collection items terminated by '/';
載入數據(可以從本地載入,也可以從hdfs裝載,當然也可以從別的表中查詢結果進行轉載),這里從本地裝載
[html] view plain
load data local inpath "/home/master/mycode/new_movies_load.csv" into table movie_message;
2):查看array的元素
用下標進行尋找,類似於其他編程語言中的數組訪問
[html] view plain
hive> select leixing[0] from movie_message limit 5;
OK
劇情
劇情
劇情
紀錄片
喜劇
Time taken: 1.116 seconds, Fetched: 5 row(s)
3):內嵌查詢及統計
這里就是 寫在前邊的話中提到的問題,這里使用explode和lateral view關鍵字,應該這樣寫
[html] view plain
select lx,count(*) from movie_message lateral view explode(leixing) leixing as lx group by lx;
結果為:
[html] view plain
傳記 194
兒童 18
冒險 242
劇情 1490
動作 252
動畫 106
歷史 208
古裝 9
同性 84
喜劇 618
奇幻 178
家庭 130
恐怖 152
懸念 2
懸疑 386
情色 19
驚悚 435
戲曲 11
戰爭 144
歌舞 40
武俠 1
災難 11
愛情 404
犯罪 442
真人秀 6
短片 165
科幻 165
紀錄片 620
脫口秀 10
舞台藝術 8
西部 6
運動 29
音樂 123
鬼怪 1
黑色電影 4

F. 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就是執行導入導出的操作

G. hive分桶表的儲存格式是什麼固定的還是可以隨意指定

對於每一個表或者是分區,Hive可以進一步組織成桶,也就是說桶是更為細粒度的數據范圍劃分。Hive是針對某一列進行分桶。Hive採用對列值哈希,然後除以桶的個數求余的方式決定該條記錄存放在哪個桶中。分桶的好處是可以獲得更高的查詢處理效率。使取樣更高效
hive表數據是在hdfs中儲存的並沒有固定的儲存格式,hive只保存管理表元數據。
桶就是將數據表由一個文件存儲分為多個文件存儲
分桶語法:
create table t_buck(id string,name string)
clustered by (id) into 4 buckets;
指定了根據id分成4個桶,最好的導入數據方式是insert into table.
要開啟模式開關 
set hive.enforce.bucketing = true;
set maprece.job.reces=4;
查詢時cluster by指定的欄位就是partition時分區的key

H. hive的數據存儲

首先,Hive 沒有專門的數據存儲格式,也沒有為數據建立索引,用戶可以非常自由的組織 Hive 中的表,只需要在創建表的時候告訴 Hive 數據中的列分隔符和行分隔符,Hive 就可以解析數據。
其次,Hive 中所有的數據都存儲在 HDFS 中,Hive 中包含以下數據模型:表(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, ctry = US 的 HDFS 子目錄為:/wh/pvs/ds=20090801/ctry=US;對應於 ds = 20090801, ctry = CA 的 HDFS 子目錄為;/wh/pvs/ds=20090801/ctry=CA
Buckets 對指定列計算 hash,根據 hash 值切分數據,目的是為了並行,每一個 Bucket 對應一個文件。將 user 列分散至 32 個 bucket,首先對 user 列的值計算 hash,對應 hash 值為 0 的 HDFS 目錄為:/wh/pvs/ds=20090801/ctry=US/part-00000;hash 值為 20 的 HDFS 目錄為:/wh/pvs/ds=20090801/ctry=US/part-00020
External Table 指向已經在 HDFS 中存在的數據,可以創建 Partition。它和 Table 在元數據的組織上是相同的,而實際數據的存儲則有較大的差異。
Table 的創建過程和數據載入過程(這兩個過程可以在同一個語句中完成),在載入數據的過程中,實際數據會被移動到數據倉庫目錄中;之後對數據對訪問將會直接在數據倉庫目錄中完成。刪除表時,表中的數據和元數據將會被同時刪除。 External Table 只有一個過程,載入數據和創建表同時完成(CREATE EXTERNAL TABLE ……LOCATION),實際數據是存儲在 LOCATION 後面指定的 HDFS 路徑中,並不會移動到數據倉庫目錄中。當刪除一個 External Table 時,僅刪除元數據,表中的數據不會真正被刪除。

I. 怎樣修改hive存儲格式為snappy格式

你輸入sqoop
import
的目錄在哪裡?如果在/usr/sqoop下輸入的命令,那麼在/usr/sqoop下輸入hive登入,然後show
tables查看。
你輸入sqoop
import
的目錄在哪裡?如果在/usr/sqoop下輸入的命令,那麼在/usr/sqoop下輸入hive登入,然後show
tables查看。
hive
0.13以後自帶支持。

熱點內容
ssrpc端怎麼刪除伺服器 發布:2024-05-16 13:53:14 瀏覽:234
如何配置gdc伺服器 發布:2024-05-16 13:53:12 瀏覽:983
安卓系統阿爾法編譯器 發布:2024-05-16 13:51:49 瀏覽:989
建行支付密碼器怎麼用 發布:2024-05-16 13:50:19 瀏覽:984
智能手環如何配置 發布:2024-05-16 13:48:00 瀏覽:483
shell腳本vim 發布:2024-05-16 13:43:15 瀏覽:302
征途修改腳本 發布:2024-05-16 13:42:31 瀏覽:408
xp共享列印機拒絕訪問 發布:2024-05-16 13:41:31 瀏覽:813
常州php招聘 發布:2024-05-16 13:14:52 瀏覽:590
十二萬左右捷達車配置質量怎麼樣 發布:2024-05-16 12:17:00 瀏覽:598