配置hadoop HIVE後設資料儲存在mysql中
先確保已經成功安裝了HIVE和MYSQL
在hive-site.xml中新增如下內容,指定METASTORE的地址以及連線方式
剛安裝好hive,conf下是沒有hive-site.xml檔案的,需要複製
hive-default.xml為hive-site.xml。然後再進行修改。
然後登陸到HIVE客戶端,建立一個表試試
[gpadmin1@hadoop5
hive-0.6.0]$ bin/hive
Hive history
file=/tmp/gpadmin1/hive_job_log_gpadmin1_201106081130_1156785421.txt
hive> show tables;
FAILED: Error in metadata: javax.jdo.JDOFatalDataStoreException: Unknown
database 'hive'
NestedThrowables:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database
'hive'
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask
報錯了,提示很明顯,識別不到名稱為hive的database,需要手動在mysql中建立相應的資料庫
[Intranet
root@hadoop6 /var/lib/mysql]
#mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or /g.
Your MySQL connection id is 41
Server version: 5.5.12 MySQL Community Server (GPL)
Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '/h' for help. Type '/c' to clear the current input statement.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
|
mysql
|
| performance_schema |
|
test
|
+--------------------+
4 rows in set (0.00 sec)
mysql> create database hive;
Query OK, 1 row affected (0.00 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
|
hive
|
| mysql
|
| performance_schema |
|
test
|
+--------------------+
5 rows in set (0.00 sec)
再登陸到HIVE裡看看
[gpadmin1@hadoop5
hive-0.6.0]$ bin/hive
Hive history
file=/tmp/gpadmin1/hive_job_log_gpadmin1_201106081130_544334815.txt
hive> show table;
FAILED: Parse Error: line 0:-1 mismatched input '
hive> show tables;
OK
Time taken: 5.173 seconds
hive> CREATE TABLE cite
(id1 INT,
> id2 int
> )
>
ROW FORMAT DELIMITED
>
FIELDS TERMINATED BY ',';
OK
Time taken: 0.266 seconds
hive> show
tables;
OK
cite
Time taken: 0.197 seconds
hive>
OK了,果然是這個問題
另外,HIVE會在資料庫中建立一些儲存後設資料的表,我們可以看下都有哪些
mysql> use
hive;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> show tables;
+----------------+
| Tables_in_hive |
+----------------+
| BUCKETING_COLS |
| COLUMNS |
| DBS |
| PARTITION_KEYS |
| SDS |
| SD_PARAMS |
| SEQUENCE_TABLE |
| SERDES |
| SERDE_PARAMS |
| SORT_COLS |
| TABLE_PARAMS |
| TBLS |
+----------------+
12 rows in set (0.00 sec)
mysql> select * from TBLS;
+--------+-------------+-------+------------------+----------+-----------+-------+----------+---------------+--------------------+--------------------+
| TBL_ID | CREATE_TIME | DB_ID | LAST_ACCESS_TIME | OWNER |
RETENTION | SD_ID | TBL_NAME | TBL_TYPE |
VIEW_EXPANDED_TEXT | VIEW_ORIGINAL_TEXT |
+--------+-------------+-------+------------------+----------+-----------+-------+----------+---------------+--------------------+--------------------+
| 1 | 1307504073 |
1 |
0 | gpadmin1 | 0
| 1 | cite | MANAGED_TABLE |
NULL
|
NULL
|
+--------+-------------+-------+------------------+----------+-----------+-------+----------+---------------+--------------------+--------------------+
1 row in set (0.00 sec)
mysql>
剛才我們建立的表cite也可以查到
另外有一個需要注意的地方是,使用mysql儲存後設資料,hive需要能夠訪問到mysql,需要mysql jdbc的驅動包,需要把一個jar包mysql-connector-java-5.1.15-bin.jar複製到hive的lib目錄下才行,否則執行語句的時候會報錯,類似下面這樣
hive> show
tables;
FAILED: Error in metadata: javax.jdo.JDOFatalInternalException: Error creating
transactional connection factory
NestedThrowables:
java.lang.reflect.InvocationTargetException
FAILED: Execution Error, return code 1 from
org.apache.hadoop.hive.ql.exec.DDLTask
複製相應的jar包既可以。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22418990/viewspace-718885/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Hive -------- 使用mysql儲存hive後設資料,Mysql的安裝以及配置步驟HiveMySql
- 大資料元件-Hive部署基於MySQL作為後設資料儲存大資料元件HiveMySql
- 2- hive後設資料與hadoop的關係HiveHadoop
- spring cloud config將配置儲存在資料庫中SpringCloud資料庫
- hive(4)——後設資料概述Hive
- 黑猴子的家:Hive 資料倉儲位置配置Hive
- 2.1.3.4 資料字典儲存在CDB中
- php中實現資料儲存在excelPHPExcel
- mysql中什麼是後設資料?MySql
- hadoop(5)--NameNode後設資料管理(2)Hadoop
- Sqoop將MySQL資料匯入到hive中OOPMySqlHive
- 掌握Hive資料儲存模型Hive模型
- (十二)SparkSQL Catalog訪問Hive後設資料資訊SparkSQLHive
- Hadoop大資料實戰系列文章之HiveHadoop大資料Hive
- java判斷mysql中資料庫是否存在JavaMySql資料庫
- 基於Hive進行數倉建設的資源後設資料資訊統計:Hive篇Hive
- MySQL入門--後設資料MySql
- Hadoop之Hive本地與遠端mysql資料庫管理模式安裝手冊HadoopHiveMySql資料庫模式
- 1、大資料 Hadoop配置和單機Hadoop系統配置大資料Hadoop
- Hive:資料倉儲構建步驟Hive
- [hive]hive資料模型中四種表Hive模型
- Zabbix模板資料儲存在哪裡?
- MySQL、Oracle後設資料抽取分析MySqlOracle
- win10截圖儲存在哪個資料夾 win10預設截圖儲存在哪裡Win10
- Hadoop Hive介紹HadoopHive
- InnoDB,能將資料儲存在DVD裡?
- 通過ES-Hadoop實現Hive讀寫Elasticsearch資料HadoopHiveElasticsearch
- Hadoop環境中管理大資料儲存八大技巧Hadoop大資料
- 在Hadoop環境中,大資料儲存的技巧有哪些?Hadoop大資料
- 將MYSQL資料顯示在QT的tablewidget中/將QT中的資料儲存到MYSQL資料庫中MySqlQT資料庫
- Curve 檔案儲存在 Elasticsearch 冷熱資料儲存中的應用實踐Elasticsearch
- 比較 Apache Hadoop 資料儲存格式 - techwellApacheHadoop
- 大資料 Hadoop介紹、配置與使用大資料Hadoop
- 【Hadoop】pyhton連結hiveHadoopHive
- Hadoop Hive遷移至MaxComputeHadoopHive
- 原來大資料 Hadoop 是這樣儲存資料的大資料Hadoop
- 好程式設計師大資料學習路線之hive儲存格式程式設計師大資料Hive
- 好程式設計師大資料培訓分享之hive儲存過程程式設計師大資料Hive儲存過程
- 基於Hadoop不同版本搭建hive叢集(附配置檔案)HadoopHive