日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

hive读取hdfs存放文件_Hive基本概念

發布時間:2025/4/17 编程问答 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 hive读取hdfs存放文件_Hive基本概念 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.1 Hive簡介

1.1.1 什么是Hive

Hive是基于Hadoop的一個數據倉庫工具,可以將結構化的數據文件映射為一張數據庫表,并提供類SQL查詢功能。

1.1.2 為什么使用Hive

  • 直接使用hadoop所面臨的問題

人員學習成本太高

項目周期要求太短

MapReduce實現復雜查詢邏輯開發難度太大

  • 為什么要使用Hive

操作接口采用類SQL語法,提供快速開發的能力。

避免了去寫MapReduce,減少開發人員的學習成本。

擴展功能很方便。

1.1.3 Hive的特點

  • 可擴展

Hive可以自由的擴展集群的規模,一般情況下不需要重啟服務。

  • 延展性

Hive支持用戶自定義函數,用戶可以根據自己的需求來實現自己的函數。

  • 容錯

良好的容錯性,節點出現問題SQL仍可完成執行。

1.2 Hive架構

1.2.1 架構圖

Jobtracker是hadoop1.x中的組件,它的功能相當于: Resourcemanager+AppMaster

TaskTracker 相當于: Nodemanager + yarnchild

1.2.2 基本組成

  • 用戶接口:包括 CLI、JDBC/ODBC、WebGUI。
  • 元數據存儲:通常是存儲在關系數據庫如 mysql , derby中。
  • 解釋器、編譯器、優化器、執行器。
  • 用戶接口主要由三個:CLI、JDBC/ODBC和WebGUI。其中,CLI為shell命令行;JDBC/ODBC是Hive的JAVA實現,與傳統數據庫JDBC類似;WebGUI是通過瀏覽器訪問Hive。
  • 元數據存儲:Hive 將元數據存儲在數據庫中。Hive 中的元數據包括表的名字,表的列和分區及其屬性,表的屬性(是否為外部表等),表的數據所在目錄等。
  • 解釋器、編譯器、優化器完成 HQL 查詢語句從詞法分析、語法分析、編譯、優化以及查詢計劃的生成。生成的查詢計劃存儲在 HDFS 中,并在隨后有 MapReduce 調用執行。

1.2.3 各組件的基本功能

1.3 Hive與Hadoop的關系

Hive利用HDFS存儲數據,利用MapReduce查詢數據

1.4 Hive與傳統數據庫對比

總結:hive具有sql數據庫的外表,但應用場景完全不同,hive只適合用來做批量數據統計分析

1.5 Hive的數據存儲

1、Hive中所有的數據都存儲在 HDFS 中,沒有專門的數據存儲格式(可支持Text,SequenceFile,ParquetFile,RCFILE等)

2、只需要在創建表的時候告訴 Hive 數據中的列分隔符和行分隔符,Hive 就可以解析數據。

3、Hive 中包含以下數據模型:DB、Table,External Table,Partition,Bucket。

2 db:在hdfs中表現為${hive.metastore.warehouse.dir}目錄下一個文件夾

2 table:在hdfs中表現所屬db目錄下一個文件夾

2 external table:與table類似,不過其數據存放位置可以在任意指定路徑

2 partition:在hdfs中表現為table目錄下的子目錄

2 bucket:在hdfs中表現為同一個表目錄下根據hash散列之后的多個文件

1.6 HIVE的安裝部署

1.6.1 安裝

單機版:

元數據庫mysql版:

1.6.2 使用方式

Hive交互shell

bin/hive

Hive thrift服務

啟動方式,(假如是在hadoop01上):

啟動為前臺:bin/hiveserver2

啟動為后臺:nohup bin/hiveserver2 1>/var/log/hiveserver.log 2>/var/log/hiveserver.err &

啟動成功后,可以在別的節點上用beeline去連接

v 方式(1)

hive/bin/beeline 回車,進入beeline的命令界面

輸入命令連接hiveserver2

beeline> !connect jdbc:hive2//mini1:10000

(hadoop01是hiveserver2所啟動的那臺主機名,端口默認是10000)

v 方式(2)

或者啟動就連接:

bin/beeline -u jdbc:hive2://mini1:10000 -n hadoop

接下來就可以做正常sql查詢了

Hive命令

[hadoop@hdp-node-02 ~]$ hive -e ‘sql’

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的hive读取hdfs存放文件_Hive基本概念的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。