hive是什麼?
hive是乙個可以將sql翻譯為mr程式的工具
hive支援使用者將hdfs上的檔案對映為表結構,然後使用者就可以輸入sql對這些表(hdfs上的檔案)進行查詢分析
hive將使用者定義的庫、表結構等資訊儲存hive的元資料庫中(可以是本地derby,也可以是遠端mysql)
hive是基於hadoop的乙個資料倉儲工具(離線),可以將結構化的資料檔案對映為一張資料庫表,並提供類sql查詢功能。
為什麼使用hive
直接使用hadoop所面臨的問題
人員學習成本太高
專案週期要求太短
mapreduce實現複雜查詢邏輯開發難度太大
為什麼要使用hive
操作介面採用類sql語法,提供快速開發的能力。
避免了去寫mapreduce,減少開發人員的學習成本。
功能擴充套件很方便。
hive的特點
擴充套件 hive可以自由的擴充套件集群的規模,一般情況下不需要重啟服務。
延展性 hive支援使用者自定義函式,使用者可以根據自己的需求來實現自己的函式。
容錯 良好的容錯性,節點出現問題sql仍可完成執行。
hive的用途?
解放大資料分析程式設計師,不用自己寫大量的mr程式來分析資料,只需要寫sql指令碼即可
hive可用於構建大資料體系下的資料倉儲
hive的使用方式?
方式1:可以互動式查詢:
bin/hive -----> hive>select * from t_test;
將hive啟動為乙個服務: bin/hiveserver ,然後可以在任意一台機器上使用beeline客戶端連線hive服務,進行互動式查詢
服務端:bin/hiveserver2
客戶端:bin/beeline
!connect jdbc:hive2://服務端主機名:監聽的埠
輸入密碼
!quit 退出服務
方式2:可以將hive作為命令一次性執行:
bin/hive -e "sql1;sql2;sql3;sql4"
事先將sql語句寫入乙個檔案比如 q.hql ,然後用hive命令執行: bin/hive -f q.hql
執行命令:hive -e "命令select * from 庫名.表名;"
執行指令碼:sh 指令碼
如果檔案過於複雜,可寫在文件執行:hive -f 檔名
方式3:可以將方式2寫入乙個***.sh指令碼中
檢視資料庫
show databases;
檢視表
show tables;
create table 表名(欄位名 字段型別,欄位名 字段型別,欄位名 字段型別,...)
row format delimited
fileds terminated by '分隔符'
;
匯入資料方式1:匯入資料的一種方式:
手動用hdfs命令,將檔案放入表目錄;
方式2:在hive的互動式shell中用hive命令來匯入本地資料到表目錄
匯出資料查詢1、將hive表中的資料匯入hdfs的檔案
insert overwrite directory 『/root/access-data』
row format delimited
fields terminated by 『,』
select * from t_access;
2、將hive表中的資料匯入本地磁碟檔案
insert overwrite local directory 『/root/access-data』
row format delimited
fields terminated by 『,』
select * from t_access limit 100000;
select * from 表名;
插入表
insert into 表2 select * from 表1;
將表1查詢結果插入到表2刪除表
drop table 表名;
JS概念及基本語法
一 js概述 1.什麼是js?是一種基於物件和事件驅動的客戶端指令碼語言 執行環境 瀏覽器 通過瀏覽器解釋執行 2.js產生於哪一年,哪個公司,是誰?第乙個名字是什麼?1995年,網景公司 布蘭登 livespcript 3.w3c第乙個標準是什麼?ecma 262 4.js包含哪幾部分?1 ecm...
hive概念及特點
1.資料倉儲軟體 2.儲存,重在分析,延遲高 3.使用sql來讀,寫,管理駐留在分布式儲存系統大型資料集,可以使用命令列和driver鏈結 到hive 4.執行在hadood之上,用來匯集查詢資料 olap online analyze process 不是 關係型資料庫 oltp 不適合實時查詢和...
正規表示式概念及基本語法
正規表示式 1 概念 模式匹配和文字檢索與替換 2 作用 資料有限性驗證 替換 檢索 3 基本語法 語法一 ver reg battern flages 語法二 var reg newregexp pattern flages flages 可選項 g 全文查詢出現的所有項 i 忽略大小寫 m 多行...