成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

怎么在hive里用sql查詢信息?

網(wǎng)友解答: 感謝邀請。Apache Hive還是我2年前在項(xiàng)目組中構(gòu)建大數(shù)據(jù)集數(shù)據(jù)倉庫用到的技術(shù),當(dāng)時(shí)用到的版本是1.5, 現(xiàn)在的版本是2.3.2 增加了許多功能點(diǎn),如beeline、增

網(wǎng)友解答:

感謝邀請。

Apache Hive還是我2年前在項(xiàng)目組中構(gòu)建大數(shù)據(jù)集數(shù)據(jù)倉庫用到的技術(shù),當(dāng)時(shí)用到的版本是1.5, 現(xiàn)在的版本是2.3.2 增加了許多功能點(diǎn),如beeline、增加后端計(jì)算引擎支持等。

先簡單介紹下Apache Hive, 它是Hadoop生態(tài)鏈中的一個(gè)數(shù)據(jù)倉庫(Data Warehouse)工具,可以將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫表,并提供簡單的sql查詢功能,而sql語句轉(zhuǎn)換為MapReduce任務(wù)進(jìn)行運(yùn)行,在Hive2.0以上的版本,sql還可以轉(zhuǎn)化為Spark任務(wù),其速度往往比MapReduce任務(wù)快的多。

Hive的優(yōu)點(diǎn)是學(xué)習(xí)成本低,簡單易用。 Hive 定義了簡單的類 SQL 查詢語言,稱為 HiveQL。 允許熟悉 SQL 的開發(fā)人員不必開發(fā)專門的MapReduce應(yīng)用就可以對數(shù)據(jù)進(jìn)行操作和查詢,十分適合數(shù)據(jù)倉庫的統(tǒng)計(jì)分析。同時(shí),這個(gè)語言也允許熟悉 MapReduce 開發(fā)者的開發(fā)自定義的 mapper 和 reducer 來處理內(nèi)建的 mapper 和 reducer 無法完成的復(fù)雜的分析工作。

問題中的Hive如何用sql查詢信息,更準(zhǔn)確的說法是如何調(diào)用HiveQL查詢信息。熟悉SQL查詢方式(select clause)幾乎無縫在Hive中查詢。

Hive查詢語句的語法:

SELECT [ALL | DISTINCT] select_expr, select_expr, ... FROM table_reference [WHERE where_condition] [GROUP BY col_list] [HAVING having_condition][CLUSTER BY col_list | [DISTRIBUTE BY col_list] [SORT BY col_list]] [LIMIT number] ;

下面給出幾個(gè)例子說明Hive的使用。

1,對文件中的詞頻進(jìn)行統(tǒng)計(jì)分析。

hive DROP TABLE IF EXISTS docs;hive CREATE TABLE docs (line STRING);hive LOAD DATA INPATH 'input_file' OVERWRITE INTO TABLE docs;hive CREATE TABLE word_counts

AS

SELECT word, count(1) AS count

FROM

(SELECT explode(split(line, 's')) AS word FROM docs) temp

GROUP BY word

ORDER BY word;

2, 比如說數(shù)據(jù)文件已經(jīng)映射為如下表:

a. 獲取工資大于25000的人員姓名和職位。

hive SELECT Name, Position FROM employee WHERE salary25000;

b, 獲取職位相關(guān)人員數(shù)量

hive SELECT Position, COUNT(1) AS PersonCount FROM employee GROUP BY Postion;

可以看出簡單用法時(shí)和普通的SQL語句沒有太多區(qū)別。

【補(bǔ)充】

1,進(jìn)入Hive終端的方式很直接,在安裝好Hive并且配置好環(huán)境變量后,直接鍵入hive 或者beeline就會進(jìn)入Hive的終端。正常的話就會看到提示符如下:

hive ....

就可以在其中輸入其他命令或者語句了。

2, 進(jìn)入Hive后可以用下列命令查詢Hive數(shù)據(jù)倉庫的基本情況,比如表的個(gè)數(shù), 表的屬性信息等:

hive show tables;hive describe `tablename';

希望這個(gè)回答可以有幫助,歡迎交流!

標(biāo)簽: