Apache Hive筆記(一)_Hive分散式資料倉儲系統介紹_Hive CLI和beeline CLI
Hive 是Hadoop當中一個極重要的子專案,與HDFS協同合作成為Hadoop上的資料倉儲架構,Hive提供相近於T-SQL的查詢語言稱為Hive QL。 Hive QL提供使用者執行部份與SQL類似的操作,如常見的資料定義(DDL)操作及資料操 作語言(DML)等 目前Hive QL並不完全支援目前SQL提供的所有的函式,如預存程序與觸發程序等。與Hadoop中的MapReduce程式技術結合後,可自動的將Hive QL語言轉换為MapReduce Task,使用者可容易的使用Hive QL對HDFS中的海量資料進行分析處理,不需要再以Java語言自行撰寫MapReduce程式。 目前Hive提供透過JDBC與ODBC及Thrift等方式來與Hive進行連接 https://www.nitendratech.com/hive/apache-hive/ Thrift 是Facebook在2007年交給Apache軟體基金會的開源專案,主要目的是為了解決Facebook在不同系統中大資料量的傅輸通訊,及系統之間所使用的不同軟體語言與異質環境而訂定的跨平台軟體服務,其支援C++、C#、Haskell、Java、Ocami、Per、PHP、Python、Ruby、Smalltalk等多種不同的程式語言間的通訊,並可作為二進位的高性能的通訊中介軟體,支援資料及物件的序列化和多種類型的RPC服務etaStore為Hive的系統目錄架構,負責Hive中介資料的存放,如資料表的格式、屬性等,因Hive儲存建立在HDFS架構上,在Hive下每張資料表實體存放位置皆會對應到HDFS中的檔案目錄。 Hive提供使用者兩種操作模式為Web UI及命令列介面,來進行對Hive執行Hive QL指令, Hive QL對MetaStore的中介資料進行分析後,透過Driver中的编譯器轉换為 MapReduce Task後,將該工作交給Hadoop進行資料處理。 於AWS網站摘要的內文介紹 Apache Hive 是一種容錯的分散式資料倉儲系統,可進行大規模分析。資料倉儲提供資訊的中央存放區,可以輕鬆分析資料以作出明智且資料導向的決策。Hive 讓客戶使用 SQL 讀取、寫入與管理 PB 級資料。 Hive 建構在 Apache Hadoop 之上,這是一個用於有效儲存和處理大型資料集的開...