Hadoop入門的一些基礎

2021-08-20 12:31:36 字數 1561 閱讀 5003

hadoop 是乙個分布式的計算開源框架,提供了乙個分布式檔案系統子專案(hdfs)和支援mapreduce分布式計算的軟體架構

hive 是基於hadoop的乙個資料倉儲工具,可以將結構化的資料檔案對映為一張資料庫表,通過類sql語句快速實現簡單的map

reduce統計,不必開發專門的mapreduce應用,十分適合資料倉儲的統計分析;

pig是基於hadoop的大規模資料分析工具。他提供的sql-like語音叫piglatin。該語言的編譯器會把類sql的資料分析請求轉化為一系列經過優化處理的mapreduce運算

hbase是乙個高可靠性,高效能,面向列,可伸縮的分布式儲存系統,利用hbase技術可以在廉價的pc service上搭建起大規模結構化儲存集群;是乙個nosql資料庫,是乙個key-value型別的資料庫,是高可靠,面向列的,可伸縮的分布式的資料庫,適合非結構化的資料儲存,底層的資料儲存在hdfs上

sqoop 是乙個用來將hadoop和關係型資料庫中的資料相互轉移的工具,可以將乙個關係型資料庫中的資料匯入到hadoop的hdfs中,也可以將hdfs中的資料匯入到關係型資料庫中;

zookeeper 是乙個為分布式所設計的分布式的,開源的協調服務,他主要是用來解決分布式應用中堅持遇到的一些資料管理檔案,簡化分布式應用協調及其管理的難度,提供高效能的分布式服務;

hive中的表示純邏輯表,就只是表的定義等,即表的元資料。hive本身不儲存資料,它完全依賴hdfs和mapreduce,這樣就可以將結構化的資料檔案對映為一張資料庫表,並提供完整的sql查詢功能,並將sql語言最終轉化為mapreduce任務進行執行,

而hbase表是物理表,是否儲存非結構化的資料;

hive是資料倉儲,通過hive可以使用hql語言查詢存放在hdfs上的資料,hql是一種類sql語言,這種語言最終轉化mapreduce雖然hive提供sql查詢功能,但是hive不能進行互動查詢,因為它是基於mapreduce演算法的。

hbase key/value,基礎單元是cell,它允許在hdfs之上,和hive不一樣,hbase的能夠在他的資料庫上實時執行,而不是執行mapreduce任務;

hive幫助熟悉sql的人執行mapreduce任務,因為他是jdbc相容的。執行hive查詢會花費很長時間,因為它會預設遍歷表中所有的資料,但可以通過hive的分割槽來控制,因為這樣一來檔案大小是固定的,就這麼大一塊儲存空間,從固定空間里查資料是很快的。

hbase是通過key/value來工作的。注意版本的功能;

hive適合用來對一段時間內的資料進行分析查詢,例如,用來計算趨勢或者**的日誌,hive不應該用來進行實時的查詢,因為它需要很長時間才可以返回結果;

hbase非常適合用來進行大資料的實時查詢,facebook用hbase進行訊息和實時的分析。它也可以用來統計facebook的連線數;

hive和hbase是兩種基於hadoop的不同技術,hive是一種類sql的引擎,可以直接將檔案轉化成資料庫,並且執行mapreduce任務,

hbase是一種在hadoop之上的nosql的key/value資料庫,hive可以用來進行統計查詢,hbase可以用來進行實時查詢,資料也可以

從hive寫到hbase,在從hbase寫回hive。

hadoop的一些基本用法

1 檢視指定目錄下內容 hadoop dfs ls 檔案目錄 eg hadoop dfs ls user 2 開啟某個已存在檔案 hadoop dfs cat file path eg hadoop dfs cat user susu 3 將本地檔案儲存至hadoop hadoop fs put 本...

hadoop的一些命令技巧

hadoop fs cat hadoop fs cat more more引數可是分頁顯示檔案內容 echo abcd hadoop fs put 將列印到螢幕的內容儲存到hdfs hadoop fs cat ls hadoop fs put 將本地目錄下的檔名儲存到hdfs檔案中 hadoop f...

Python一些入門知識001基礎

與其他的語言類似,python同樣對變數命名有所規定,但是有所不同的是python的變數命名開頭變成了字母 下劃線,也就是說不能用數字開頭來給變數命名,正確示範 zhang name items zhang name 錯誤示範 3name item 同時變數名稱嚴格控制大小寫zhang name z...