search
HomeDatabaseMysql TutorialHive集成Mysql作为元数据
Hive集成Mysql作为元数据Jun 07, 2016 pm 03:34 PM
hivemysqlcasedataintegrateddefault

默认情况下,Hive元数据保存在内嵌的 Derby 数据库中,只能允许一个会话连接,只适合简单的测试。为了支持多用户多会话,则需要一个独立的元数据库,我们使用 MySQL 作为元数据库,Hive 内部对 MySQL 提供了很好的支持,配置一个独立的元数据库需要增加以下

默认情况下,Hive元数据保存在内嵌的 Derby 数据库中,只能允许一个会话连接,只适合简单的测试。为了支持多用户多会话,则需要一个独立的元数据库,我们使用 MySQL 作为元数据库,Hive 内部对 MySQL 提供了很好的支持,配置一个独立的元数据库需要增加以下几步骤:

第一步:安装MySQL服务器端和MySQL客户端,并启动MySQL服务。
此步省略,具体请看http://www.cnblogs.com/linjiqin/archive/2013/03/04/2942497.html

第二步:安装Hive
此步省略,具体请看http://www.cnblogs.com/linjiqin/archive/2013/03/04/2942402.html

第三步:为Hive建立相应的MySQL账户,并赋予足够的权限,执行命令如下:

hadoop@ubuntu:~$ mysql -uroot -pmysql
mysql> CREATE USER <span>'</span><span>hive</span><span>'</span> IDENTIFIED BY <span>'</span><span>mysql</span><span>'</span>;
mysql> GRANT ALL PRIVILEGES ON *.* TO <span>'</span><span>hive</span><span>'</span>@<span>'</span><span>%</span><span>'</span> WITH GRANT OPTION;
mysql> flush privileges;

默认情况下Mysql只允许本地登录,所以需要修改配置文件将地址绑定给注释掉:

root@ubuntu:~# <span>sudo</span> gedit /etc/mysql/my.cnf

找到如下内容:

# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
#bind-address           = 127.0.0.1  <span><span>---</span><span>注释掉这一行就可以远程登录了</span></span>

重启mysql服务:

<span>sudo</span> service mysql restart

第四步:建立 Hive 专用的元数据库,记得创建时用刚才创建的“hive”账号登陆。

mysql> exit;
hadoop@ubuntu:~$ mysql -uhive -pmysql
mysql> create database hive;

第五步:在Hive的conf目录下的文件“hive-site.xml”中增加如下配置:

Hive集成Mysql作为元数据

<span></span><span>xml version="1.0"</span><span>?></span>
<span></span><span>xml-stylesheet type="text/xsl" href="configuration.xsl"</span><span>?></span>

<span><span>configuration</span><span>></span>
    <span><span>property</span><span>></span>
        <span><span>name</span><span>></span>hive.metastore.local<span></span><span>name</span><span>></span>
        <span><span>value</span><span>></span>true<span></span><span>value</span><span>></span>
    <span></span><span>property</span><span>></span>
    <span><span>property</span><span>></span>
        <span><span>name</span><span>></span>javax.jdo.option.ConnectionURL<span></span><span>name</span><span>></span>
        <span><span>value</span><span>></span>jdbc:mysql://192.168.11.157:3306/hive?characterEncoding=UTF-8<span></span><span>value</span><span>></span>
    <span></span><span>property</span><span>></span>
    <span><span>property</span><span>></span>
        <span><span>name</span><span>></span>javax.jdo.option.ConnectionDriverName<span></span><span>name</span><span>></span>
        <span><span>value</span><span>></span>com.mysql.jdbc.Driver<span></span><span>value</span><span>></span>
    <span></span><span>property</span><span>></span>
    <span><span>property</span><span>></span>
        <span><span>name</span><span>></span>javax.jdo.option.ConnectionUserName<span></span><span>name</span><span>></span>
        <span><span>value</span><span>></span>hive<span></span><span>value</span><span>></span>
    <span></span><span>property</span><span>></span>
    <span><span>property</span><span>></span>
        <span><span>name</span><span>></span>javax.jdo.option.ConnectionPassword<span></span><span>name</span><span>></span>
        <span><span>value</span><span>></span>mysql<span></span><span>value</span><span>></span>
    <span></span><span>property</span><span>></span>
<span></span><span>configuration</span><span>></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span>

Hive集成Mysql作为元数据

从前面我们知道我们的“hive-site.xml”是一个“hive-default.xml.template”的一个拷贝,里面的配置参数非常之多,但是并不是我们都需要的,我们知道,Hive 系统会加载两个配置文件一个默认配置文件“hive-default.xml”,另一个就是用户自定义文件“hive-site.xml”。当“hive-site.xml”中的配置参数的值与“hive-default.xml”文件中不一致时,以用户自定义的为准。所以我们就把我们不需要的参数都删除掉,只留下上面所示的内容。
备注:其实修改这里的配置文件如果在Linux下面进行则非常麻烦,尽然我们都建立了FTP了,为何不用,所以把Master.Hadoop上面的这个配置文件下载下来,按照要求进行修改,这样的文件在Windows进行操作是非常方便的,弄好之后在上传上去,覆盖原来的即可。

第六步:把MySQL的JDBC驱动包复制到Hive的lib目录下。
JDBC驱动包的版本:mysql-connector-java-5.1.18-bin.jar

第七步:启动 Hive Shell, 执行“show tables;”命令,如果不报错,表明基于独立元数据库的 Hive 已经安装成功了。

Hive集成Mysql作为元数据

hadoop@ubuntu:~$ hive
Logging initialized using configuration <span>in</span> <span>file</span>:/home/hadoop/hive-<span>0.9</span>.<span>0</span>/conf/hive-log4j.properties
Hive history <span>file</span>=/tmp/hadoop/hive_job_log_hadoop_201303041631_450140463.txt
hive> show tables;
OK
Time taken: <span>1.988</span> seconds
hive> 

Hive集成Mysql作为元数据

第八步:验证Hive配置是否有误,进入Hive的shell新建表,在MySQL的Hive数据库中可以看到相应的元数据库信息。
1)在Hive上建立数据表
hive> CREATE TABLE xp(id INT,name string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';
2)从 MySQL 数据库上查看元数据信息
用到的 SQL 语句:
use hive; //使用 hive 数据库库
show tables;//显示 hive 数据库中的数据表
select * from TBLS;//查看 hive 的元数据信息
到此Hive集成Mysql作为元数据已完成。

远程模式安装
远程模式安装是把 metastore 配置到远程机器上,可以配置多个。在独立模式的基础上需要在 hive-site.xml 文件中增加的配置项如下:

Hive集成Mysql作为元数据

<span><span>property</span><span>></span>
    <span><span>name</span><span>></span>hive.metastore.local<span></span><span>name</span><span>></span>
    <span><span>value</span><span>></span>local<span></span><span>value</span><span>></span>
<span></span><span>property</span><span>></span>
<span><span>property</span><span>></span>
    <span><span>name</span><span>></span>hive.metastore.uris<span></span><span>name</span><span>></span>
    <span><span>value</span><span>></span>uri1,uri2,... <span></span><span>value</span><span>></span>//可配置多个 uri
    <span><span>description</span><span>></span>JDBC connect string for a JDBC metastore<span></span><span>description</span><span>></span>
<span></span><span>property</span><span>></span></span></span></span></span></span></span></span>
Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
机器学习中的集成方法概述机器学习中的集成方法概述Apr 15, 2023 pm 01:52 PM

想象一下,你正在网上购物,你发现有两家店铺销售同一种商品,它们的评分相同。然而,第一家只有一个人评分,第二家有100人评分。您会更信任哪个评分呢?最终您会选择购买哪家的商品呢?大多数人的答案很简单。100个人的意见肯定比只有一个人的意见更值得信赖。这被称为“群众的智慧”,这也是集成方法有效的原因。集成方法通常,我们只从训练数据中创建一个学习者(学习者=训练模型)(即,我们只在训练数据上训练一个机器学习模型)。而集成方法是让多个学习者解决同一个问题,然后将他们组合在一起。这些学习者被称为基础学习者

PHP与ETL工具的集成PHP与ETL工具的集成May 16, 2023 am 11:30 AM

随着企业数据变得越来越庞大和复杂,数据处理和分析的需求变得愈发迫切。为了解决这一问题,ETL(抽取、转换、加载)工具逐渐成为了企业数据处理和分析的重要工具。PHP作为一门流行的Web开发语言,也可以通过与ETL工具的集成来提高数据处理和分析的效率和精度。ETL工具介绍ETL工具是一类能够提取数据、进行数据转换,并将数据加载到目标系统中的软件。其全称是抽取-转

在Go语言中使用Hive实现高效的数据仓库在Go语言中使用Hive实现高效的数据仓库Jun 15, 2023 pm 08:52 PM

近年来,数据仓库成为了企业数据管理中不可或缺的一部分。直接使用数据库进行数据分析可以满足简单的查询需求,但当我们需要进行大规模数据分析时,单个数据库已经无法满足需求,这时我们需要使用数据仓库来处理海量数据。而Hive则是数据仓库领域中最流行的开源组件之一,它可以将Hadoop分布式计算引擎和SQL查询集成在一起,并支持海量数据的并行处理。同时,在Go语言中使

Django框架中集成WebSocketDjango框架中集成WebSocketJun 17, 2023 pm 12:00 PM

WebSocket是一种实时通信的协议,比起HTTP协议更加轻量级和高效,可以实现类似于聊天室、实时通知等功能。在Django中,我们可以通过利用DjangoChannels库将WebSocket集成到框架中,实现实时通信。首先,我们需要安装Django和DjangoChannels库。可以通过pip工具进行安装,也可以使用conda等其他包管理工具。p

PHP入门指南:PHP和HivePHP入门指南:PHP和HiveMay 20, 2023 am 08:33 AM

PHP是一种广泛使用的服务器端编程语言,它的使用范围覆盖了几乎所有行业。在本篇文章中,我们将探讨PHP对于大数据处理的特殊作用。在特定环境下,PHP可以与ApacheHive协作,从而实现实时数据处理和分析。先来介绍一下Hive。Hive是一个基于Hadoop的数据仓库解决方案。它可以将结构化数据映射成SQL查询,并以MapReduce任务的方式执行查询。

PHP实现开源Hive大数据分析平台PHP实现开源Hive大数据分析平台Jun 18, 2023 pm 02:47 PM

随着数据处理越来越重要,大数据分析也变得越来越普遍。然而,许多公司可能不想花费大量资金在商业分析平台上。开源解决方案为这些公司提供了一种可行的选择。在这个文章中,我们将讨论如何使用PHP实现开源Hive大数据分析平台。Hive是一个基于Hadoop的数据仓库系统,可以通过SQL查询和管理Hadoop上的大规模数据集。它使用类似于SQL的HiveQL语言来查询

PHP与Cassandra的集成PHP与Cassandra的集成May 15, 2023 pm 06:51 PM

随着大数据时代的到来以及数据增长量的不断增加,Cassandra已经成为了一种流行的分布式数据库技术。而PHP语言作为最流行的Web编程语言之一,则是Web开发领域的主流技术之一,如何让PHP和Cassandra进行无缝的集成呢?安装Cassandra在开始使用Cassandra之前,需要先安装Cassandra。Cassandra可以在官网上下载到最新的版

PHP与数据边缘计算的集成PHP与数据边缘计算的集成May 19, 2023 am 08:13 AM

随着计算机技术的不断发展,数据边缘计算成为了越来越热门的话题。在这个趋势中,PHP语言也逐渐成为了一个重要的参与者。本文将介绍PHP与数据边缘计算的集成,探讨PHP在边缘计算中的应用。一、什么是数据边缘计算数据边缘计算(EdgeComputing)是一种计算模式,它将计算资源部署到离数据来源最近的地方,以实现更低延迟、更高效率的数据处理。边缘计算的核心是将

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
1 months agoBy尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

mPDF

mPDF

mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Linux new version

SublimeText3 Linux new version

SublimeText3 Linux latest version