[hive学习翻译]Hive - Introduction
?
術語“大數據”用于大數據集的集合,包括大量,高速度和各種日益增加的數據。使用傳統的數據管理系統,很難處理大數據。因此,Apache Software Foundation引入了一個稱為Hadoop的框架來解決大數據管理和處理難題。
Hadoop
Hadoop是一個開放源代碼框架,用于在分布式環境中存儲和處理大數據。它包含兩個模塊,一個是MapReduce,另一個是Hadoop分布式文件系統(HDFS)。
MapReduce:它是一個并行編程模型,用于在大型商品硬件集群上處理大量的結構化,半結構化和非結構化數據。
HDFS:Hadoop分布式文件系統是Hadoop框架的一部分,用于存儲和處理數據集。它提供了一個容錯文件系統在商用硬件上運行。
Hadoop生態系統包含用于幫助Hadoop模塊的不同子項目(工具),如Sqoop,Pig和Hive。
Sqoop:用于在HDFS和RDBMS之間導入和導出數據。
Pig:這是一個用于為MapReduce操作開發腳本的過程語言平臺。
Hive:它是一個用于開發SQL類型腳本以執行MapReduce操作的平臺。
注意:有多種方法來執行MapReduce操作:
使用Java MapReduce程序的傳統方法用于結構化,半結構化和非結構化數據。
使用Pig來處理結構化和半結構化數據的MapReduce的腳本方法。
Hive查詢語言(HiveQL或HQL),用于MapReduce使用Hive處理結構化數據。
什么是Hive
Hive是一個用于在Hadoop中處理結構化數據的數據倉庫基礎結構工具。它駐留在Hadoop之上,用于總結大數據,并使查詢和分析變得容易。
最初Hive由Facebook開發,后來Apache軟件基金會將其開發并進一步開發為Apache Hive名下的開源軟件。它被不同的公司使用。例如,Amazon在Amazon Elastic MapReduce中使用它。
Hive不是
- 關系數據庫
- 用于線上事務處理(OLTP)
- 用于實時查詢和行級更新的語言
Hive的特點
- 它將模式存儲在數據庫中,并將處理后的數據存儲到HDFS中。
- 它是為OLAP設計的。
- 它提供了用于查詢的SQL類型語言,稱為HiveQL或HQL。
- 它是熟悉,快速,可擴展和可擴展。
以下組件圖描述了Hive的體系結構:
This component diagram contains different units. The following table describes each unit:
| User Interface | Hive is a data warehouse infrastructure software that can create interaction between user and HDFS. The user interfaces that Hive supports are Hive Web UI, Hive command line, and Hive HD Insight (In Windows server). Hive是一個數據倉庫基礎設施軟件,可以創建用戶和HDFS之間的交互。 Hive支持的用戶界面有Hive Web UI,Hive命令行和Hive HD Insight(在Windows服務器中)。 |
| Meta Store | Hive chooses respective database servers to store the schema or Metadata of tables, databases, columns in a table, their data types, and HDFS mapping. Hive選擇相應的數據庫服務器來存儲表,數據庫,表中的列,其數據類型和HDFS映射的模式或元數據。 |
| HiveQL Process Engine | HiveQL is similar to SQL for querying on schema info on the Metastore. It is one of the replacements of traditional approach for MapReduce program. Instead of writing MapReduce program in Java, we can write a query for MapReduce job and process it. HiveQL類似于SQL用于查詢Metastore上的模式信息。 它是MapReduce程序的傳統方法的替代品之一。 代替在Java中編寫MapReduce程序,我們可以為MapReduce作業編寫一個查詢并處理它。 |
| Execution Engine | The conjunction part of HiveQL process Engine and MapReduce is Hive Execution Engine. Execution engine processes the query and generates results as same as MapReduce results. It uses the flavor of MapReduce. HiveQL進程Engine和MapReduce的連接部分是Hive執行引擎。 執行引擎處理查詢并生成與MapReduce結果相同的結果。 它使用MapReduce的風格。 |
| HDFS or HBASE | Hadoop distributed file system or HBASE are the data storage techniques to store data into file system. Hadoop分布式文件系統或HBASE是將數據存儲到文件系統中的數據存儲技術。 |
?
?
Working of Hive
?
The following diagram depicts the workflow between Hive and Hadoop.
下圖描述了Hive和Hadoop之間的工作流。
The following table defines how Hive interacts with Hadoop framework:
?
| 1 | Execute Query The Hive interface such as Command Line or Web UI sends query to Driver (any database driver such as JDBC, ODBC, etc.) to execute. |
| 2 | Get Plan The driver takes the help of query compiler that parses the query to check the syntax and query plan or the requirement of query. |
| 3 | Get Metadata The compiler sends metadata request to Metastore (any database). |
| 4 | Send Metadata Metastore sends metadata as a response to the compiler. |
| 5 | Send Plan The compiler checks the requirement and resends the plan to the driver. Up to here, the parsing and compiling of a query is complete. |
| 6 | Execute Plan The driver sends the execute plan to the execution engine. |
| 7 | Execute Job Internally, the process of execution job is a MapReduce job. The execution engine sends the job to JobTracker, which is in Name node and it assigns this job to TaskTracker, which is in Data node. Here, the query executes MapReduce job. |
| 7.1 | Metadata Ops Meanwhile in execution, the execution engine can execute metadata operations with Metastore. |
| 8 | Fetch Result The execution engine receives the results from Data nodes. |
| 9 | Send Results The execution engine sends those resultant values to the driver. |
| 10 | Send Results The driver sends the results to Hive Interfaces. |
?
?
?
from:https://www.tutorialspoint.com/hive/hive_introduction.htm
轉載于:https://www.cnblogs.com/hager/p/6322867.html
總結
以上是生活随笔為你收集整理的[hive学习翻译]Hive - Introduction的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第三代:集成电路计算机
- 下一篇: 在ubuntu下安装free pasca