spark連線預設hive資料庫

2022-07-26 10:03:14 字數 1496 閱讀 8366

在配置和檢視配置之前先弄清楚兩個概念

hive on spark:hive預設在mr上跑,可改成在spark記憶體上跑

spark on hive:不管如何執行spark sql,預設讀取的hive資料庫,其實spark不是直接讀取hive資料庫,而是讀取hive元資料和hdfs,那就是要配置hive的metastore。

hive 的 metastore 安裝方式共有三種

1.內嵌模式,特點是:hive服務和metastore服務執行在同乙個程序中,derby服務也執行在該程序中。

2.本地模式,特點是:hive服務和metastore服務執行在同乙個程序中,mysql是單獨的程序,可以在同一臺機器上,也可以在遠端機器上。

該模式只需將hive-site.xml中的connectionurl指向mysql,並配置好驅動名、資料庫連線賬號即可:

需要將 mysql 的驅動 jar 包拷貝到

$hive_home/lib目錄下, 並啟動 mysql 服務

hive-site.xml配置如下

3.遠端模式,特點是:hive服務和metastore在不同的程序內,可能是不同的機器。該模式需要將hive.metastore.local設定為false,並將hive.metastore.uris設定為metastore伺服器uri,如有多個metastore伺服器,uri之間用逗號分隔。metastore伺服器uri的格式為thrift://hostort

遠端模式與本地模式的區分,就是hive服務和metastore服務是否在同一程序,即使在同一臺機器也可配置遠端模式。

metastore啟動命令

hive --service metastore -p

如果不加埠預設啟動:hive --service metastore,則預設監聽9083

ip為服務所在機器

看到thrift可能有些不明白,這就要涉及hiveserver2

從圖中看出 hiveserver是hive與client端的交換終端,client通過hiveserver構建查詢語句,訪問hadoop,並把資料通過hiveserver返回到client端,hiveserver的核心是基於thrift,thrift負責hive的查詢服務,thtift是構建跨平台的rpc框架,主要由四層組成:server,transport,protocol和處理器。

Spark 連線Hive分布式環境搭建

建立使用者 adduser username chmod u w etc sudoers vim etc sudoers chmod u w etc sudoers 原始碼編譯mysql 5.5 安裝多個版本的mysql 安裝cmake plain view plain copy tar zxvf ...

使用Spark跨集群同步Hive資料

本文適用有入門spark基礎的同學,一些最基礎知識不再贅述 通過閱讀本文即可掌握使用spark跨集群同步hive資料的技巧!眾所周知,業界比較成熟的同步資料工具是sqoop,它是連線關係型資料庫和hadoop的橋梁 比較常用的場景是從mysql等rdb同步到hive hbase或者將hive hba...

HIVE倉庫擴充套件 連線hive資料庫

一 命令列客戶端工具 hivecli cli是和hive互動的最簡單 最常用方式,你只需要在乙個具備完整hive環境下的shell終端中鍵入hive即可啟動服務。beeline beeline是hive新的命令列客戶端工具。hive客戶端工具後續將使用beeline 替代hivecli 並且後續版本...