1. 程式人生 > >hive元資料庫配置metadata

hive元資料庫配置metadata

一、什麼是hive元資料?

hive元資料就是hive的一些基本的元素,主要包括hive表的基本屬性,如下 (1)hive表的資料庫名、表名、欄位名稱與型別、分割槽欄位與型別 (2)表的分割槽,分割槽的屬性location等 (3)serdeproperties, tblproperties等等 可以通過 desc formatted tablename 查看錶有哪些屬性 二、hive預設元資料庫Derby(嵌入模式) hive-default.xml通過如下配置設定
  1.   <name>javax.jdo.option.ConnectionURL</name
    >  
  2.   <value>jdbc:derby:;databaseName=metastore_db;create=true</value>  
  3.   <description>JDBC connect string for a JDBC metastore</description>  
  4. </property>  
  5. <property>  
  6.   <name>javax.jdo.option.ConnectionDriverName</name>  
  7.   <value>org.apache.derby.jdbc.EmbeddedDriver</
    value>  
  8.   <description>Driver class name for a JDBC metastore</description>  
  9. </property>  
    Apache Derby非常小巧,核心部分derby.jar只有2M,所以既可以做為單獨的資料庫伺服器使用,也可以內嵌在應用程式中使用。所以hive採用了Derby作為一個內嵌的元資料庫,可以完成hive安裝的簡單測試。     hive安裝完成之後,就可以在hive shell中執行一些基本的操作,建立表、查詢等等。如果你細心的話,就會發現一個問題:     當在某個目錄下啟動終端,進入hive shell時,hive預設會在當前目錄下生成
一個derby檔案一個metastore_db目錄,這兩個檔案主要儲存剛剛在shell中操作的一些sql的結果,比如新建的表、新增的分割槽等等 這種儲存方式的帶來弊端     1.在同一個目錄下同時只能有一個hive客戶端能使用資料庫     2.切換目錄啟動新的shell,無法檢視之前建立的表,不能實現表資料的共享 三、使用mysql作為元資料庫     由於使用預設的元資料庫有些弊端,所以採用mysql儲存hive元資料解決上面的問題。hive所有的元資料都儲存在同一個庫裡,這樣不同開發者建立的表可以實現共享。 mysql配置又分為幾種情況: (1)mysql部署在hive伺服器,使用本地服務(測試、學習使用)
(2)mysql部署在其他機器,hive伺服器開啟metadata服務,在hive伺服器上操作hive
(3)mysql部署在其他機器,hive伺服器開啟metadata服務,在hive客戶端訪問hive的metadata服務
配置mysql     配置mysql時,首先要把mysql-jdbc-driver.jar拷貝到$HIVE_HOME/lib目錄下,修改hive-default.xml名字為hive-site.xml 第一種情況,hive-site.xml配置如下
  1. <property>  
  2.   <name>hive.metastore.local</name>  
  3.   <value>true</value>  
  4. </property>  
  5. <property>  
  6.   <name>javax.jdo.option.ConnectionURL</name>  
  7.   <value>jdbc:mysql://localhost/hive?createDatabaseIfNotExist=true</value>  
  8. </property>  
  9. <property>  
  10.   <name>javax.jdo.option.ConnectionDriverName</name>  
  11.   <value>com.mysql.jdbc.Driver</value>  
  12. </property>  
  13. <property>  
  14.   <name>javax.jdo.option.ConnectionUserName</name>  
  15.   <value>hive</value>  
  16. </property>  
  17. <property>  
  18.   <name>javax.jdo.option.ConnectionPassword</name>  
  19.   <value>password</value>  
  20. </property> 
第二種情況hive-site.xml配置
  1. <property>  
  2.   <name>javax.jdo.option.ConnectionURL</name>  
  3.   <value>jdbc:mysql://192.168.0.1:3306/hive?createDatabaseIfNotExist=true</value>  
  4. </property>  
  5. <property>  
  6.   <name>javax.jdo.option.ConnectionDriverName</name>  
  7.   <value>com.mysql.jdbc.Driver</value>  
  8. </property>  
  9. <property>  
  10.   <name>javax.jdo.option.ConnectionUserName</name>  
  11.   <value>hive</value>  
  12. </property>  
  13. <property>  
  14.   <name>javax.jdo.option.ConnectionPassword</name>  
  15.   <value>password</value>  
  16. </property>  
  17. <property>  
  18.   <name>hive.metastore.local</name>  
  19.   <value>false</value>  
  20. </property>  
  21. <property>  
  22.   <name>hive.metastore.uris</name>  
  23.   <value>thrift://192.168.0.101:9083</value>  
  24. </property>
第三種情況hive-site.xml配置    1、 服務端配置
  1. <property>  
  2.   <name>javax.jdo.option.ConnectionURL</name>  
  3.   <value>jdbc:mysql://192.168.1.214:3306/hive?createDatabaseIfNotExist=true</value>  
  4. </property>  
  5. <property>  
  6.   <name>javax.jdo.option.ConnectionDriverName</name>  
  7.   <value>com.mysql.jdbc.Driver</value>  
  8. </property>  
  9. <property>  
  10.   <name>javax.jdo.option.ConnectionUserName</name>  
  11.   <value>hive</value>  
  12. </property>  
  13. <property>  
  14.   <name>javax.jdo.option.ConnectionPassword</name>  
  15.   <value>password</value>  
  16. </property>  
    2、客戶端配置
  1. <property>  
  2.   <name>hive.metastore.local</name>  
  3.   <value>false</value>  
  4. </property>  
  5. <property>  
  6.   <name>hive.metastore.uris</name>  
  7.   <value>thrift://192.168.0.101:9083</value>  
  8. </property>
在使用hive開始前,如果mysql是部署在遠端且 hive.metastore.local=false 則需要啟動hive的metadata服務
  1. $ hive --service metastore   

客戶端使用hive命令即可

  1. [email protected]:~$ hive   
  2. hive> show tables;  
  3. OK  
  4. Time taken: 0.7 seconds  
  5. hive>  

相關推薦

hive資料庫配置metadata

一、什麼是hive元資料? hive元資料就是hive的一些基本的元素,主要包括hive表的基本屬性,如下 (1)hive表的資料庫名、表名、欄位名稱與型別、分割槽欄位與型別 (2)表的分割槽

hive資料庫配置metadata

QQ交流群:335671559,歡迎交流 一、什麼是hive元資料? hive元資料就是hive的一些基本的元素,主要包括hive表的基本屬性,如下 (1)hive表的資料庫名、表名、欄位名稱與型別、分割槽欄位與型別 (2)表的分割槽,分割槽的屬性location等 (3

大資料(十八):Hive資料配置、常見屬性配置、資料型別與資料轉換

一、Hive元資料配置到MySQL當中         為什麼要把Hive的元資料配置到MySql中?我們可以使用多個客戶端連線linux系統並且都嘗試啟動Hive,可以發現在啟動第二個Hive客戶端的時候發生報錯了。   

CDH 5.3.9(parcels)叢集中hive0.13.0升級到hive-1.2.1步驟全,升級hive資料庫,資料不丟失

2.將安裝包傳到叢集所有節點上 3.所有節點root使用者下  cd /opt/cloudera/parcels/CDH/lib/hive mkdir lib121 5.所有節點將解壓出來hive/lib下所有檔案拷貝到lib121 6.Coudera 介面

HIVE資料庫相關庫表

DBS hive database資訊 TBLS hive表資訊 TABLE_PARAMS hive表引數 COLUMNS_V2 列資訊 SDS hive儲存資訊,COLUMNS_V2與TBLS表關聯需要通過它. 通過以下sql批量獲取hive現有庫表結構資訊: SELECT

大資料BigData之如何配置hive連線mysql,把mysql作為資料庫

如何配置hive連線mysql,把mysql作為元資料庫? 文章目錄 1.增加mysql資料庫的連線配置 2.修改臨時資料夾的路徑 3.修改 hive-config.sh 4.下載MySQL JDBC驅動 5.在HDFS中建立目錄和設定許可權

1 複習ha相關 + weekend110的hive資料庫mysql方式安裝配置(完全正確配法)(CentOS版本)(包含解除安裝系統自帶的MySQL)

本博文的主要內容是:   .複習HA相關   .MySQL資料庫   .先在MySQL資料庫中建立hive資料庫   .hive的配置 以下是Apache Hadoop HA的總結。分為hdfs HA和yarn HA。      以上,是參考《

Ubuntu下安裝hive,並配置mysql作為資料庫

一、安裝hive 1.下載並解壓hive源程式 sudo tar -zxvf ./apache-hive-1.2.1-bin.tar.gz -C /usr/local # 解壓到/usr/local中 cd /usr/local/ sudo mv apa

Hadoop Hive安裝,配置mysql資料庫

  由於Hive依賴於Hadoop,安裝Hive之前必須確認Hadoop可用,關於Hadoop的安裝可以參考叢集分散式 Hadoop安裝詳細步驟,這裡不再敘述。 tar -zxvf apache-hive-1.0.1-bin.tar.gz   在ap

hive的mysql作數據的hive-site.xml配置

true per 註意 pan 配置 vax 數據 spa created <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysq

(三)Hive資料資訊對應MySQL資料庫

(三)Hive元資料資訊對應MySQL資料庫表   目錄 概述 一、儲存Hive版本的元資料表(VERSION) 二、Hive資料庫相關的元資料表(DBS、DATABASE_PARAMS) 1、DBS 2、DATABASE_P

Hive資料庫替換為Mysql

1.驅動拷貝 拷貝mysql­connector­java­5.1.27­bin.jar到/root/hd/hive/lib/下 2.配置Metastore到MySql -》在/root/hd/hive/conf目錄下建立一個hive-site.xml -》根據官方文件配置引

將MySQL作為hive資料庫時遇到的問題

  Mysql版本  Ver 14.14 Distrib 5.6.40, for Linux (x86_64) using  EditLine wrapper Hive版本      apache-hive-2.

Hive安裝的時候資料庫使用自己安裝的mysql時出現SQL Error code: 1045

出現如下錯誤 Access denied for user 'root'@'localhost' (using password: YES) 如圖 通過在mysql中執行如下命令解決 GRANT ALL PRIVILEGES ON *.* TO 'root'@'local

資料庫使用自己安裝的mysql安裝HIVE

1)上傳 2)解壓 tar -xvzf apache-hive-2.3.2-bin.tar.gz 3)配置環境變數 export HIVE_HOME=/home/hadoop/apps/apache-hive-2.3.4-bin export PATH=$

VS2015[Web應用程式專案***已配置為使用IIS。無法訪問IIS資料庫]

解決過程: (1)      以管理員許可權啟動VS2012,載入專案。這時候又彈出瞭如下提示:“Web應用程式專案***已配置為使用IIS。未能找到Web伺服器”……。 (2)      在專案上點選右鍵,選擇編輯。開啟專案檔案,在專案檔案中查詢<UserII

Hive:基本架構、將mysql作為資料庫

什麼是hive hive基本思想 Hive是基於Hadoop的一個數據倉庫工具(離線),可以將結構化的資料檔案對映為一張資料庫表,並提供類SQL查詢功能。 為什麼使用Hive 直接使用hadoop所面臨的問題  人員學習成本太高  專案週

iis6 資料庫與iis6 配置的相容 出錯問題

我用Visual studio 2010時出現此類問題,是因為IIS安裝不完整,可以嘗試以下: 未安裝 IIS 6 相容元件 本主題旨在解決由 Exchange Server 分析工具發現的特定問題。應只將此主題應用到已對其執行 Exchange Server 分析工具並

hive on tez配置

adc 6.0 不能 access argument misc t權限 tez nag 1、Tez簡介 Tez是Hontonworks開源的支持DAG作業的計算框架,它可以將多個有依賴的作業轉換為一個作業從而大幅提升MapReduce作業的性能。Tez並不直接面向最終用戶—

Hadoop 之 Hive 安裝與配置

file 接下來 重新 軟件 driver name arc /etc ted Hive 作為基於Hadoop的一個數據倉庫工具,可將sql語句轉換為MapReduce任務進行運行。 通過類SQL語句快速實現簡單的MapReduce統計,不用開發專門的MapReduce應用