http://www.tech126.com/hive-mysql-metastore/
Hive默认是采用Derby来存储其Meta信息的,如下:
< property>
< name> javax. jdo. OPTION . ConnectionURL</ name>
< value> jdbc:derby:// zw- hadoop- master:1527 / metastore_db;create= true</ value>
< description> JDBC connect string FOR a JDBC metastore</ description>
</ property>
< property>
< name> javax. jdo. OPTION . ConnectionDriverName</ name>
< value> org. apache. derby. jdbc. ClientDriver</ value>
< description> Driver class name FOR a JDBC metastore</ description>
</ property>
我们可以修改一下配置,让Mysql来存储其Meta信息
首先,在Mysql服务器上建立相应的库,并赋权限
create database hivedb;
grant all privileges on hivedb.* to hiveuser@'%' identified by 'hiveuser';
grant all privileges on hivedb.* to hiveuser@'localhost' identified by 'hiveuser';
注:更改hivedb的编码为latin1否者会报错:Specified key was too long; max key length
然后,把mysql-connector-java-5.1.12-bin.jar拷贝到/cq/hive/lib下 //注意这里要从mysql官网下connector的包,不然可能出错
再修改hive-default.xml配置
< property>
< name> javax. jdo. OPTION . ConnectionURL</ name>
< value> jdbc:mysql:// 192. 168. 95. 25:3306 / hivedb?createDatabaseIfNotExist= true</ value>
< description> JDBC connect string FOR a JDBC metastore</ description>
</ property>
< property>
< name> javax. jdo. OPTION . ConnectionDriverName</ name>
< value> com. mysql. jdbc. Driver</ value>
< description> Driver class name FOR a JDBC metastore</ description>
</ property>
< property>
< name> javax. jdo. OPTION . ConnectionUserName</ name>
< value> hiveuser</ value>
< description> username TO USE against metastore database</ description>
</ property>
< property>
< name> javax. jdo. OPTION . ConnectionPassword</ name>
< value> hiveuser</ value>
< description> password TO USE against metastore database</ description>
</ property>
分享到:
相关推荐
在Hive中,我们通常会配置MySQL作为元数据存储,用来保存表信息、分区信息等元数据,因此这个驱动程序是搭建Hive环境的必要组件。 `apache-hive-3.1.2-bin.tar.gz`是Apache Hive 3.1.2的二进制发行版,包含了运行...
- Hive Metastore:存储所有Hive对象的元数据,通常与关系型数据库(如MySQL)连接。 3. **Hive查询语言(HQL)** - HQL类似于SQL,支持创建表、插入数据、选择数据、联接操作、分组聚合、子查询等。 - 特有的...
Client与用户交互,MetaStore保存元数据,Driver解析和编译SQL查询,Compiler生成执行计划,Executor负责执行,而HDFS则是数据的存储层。 2. **HQL(Hive Query Language)**: Hive提供了一种类似于SQL的查询语言,...
- 这种特性使得外部表非常适合用于共享数据或与非Hive应用进行数据交换。 3. **分区(Partition)** - 分区是对表中数据的一种逻辑划分方式,主要用于优化查询性能。 - 每个分区都对应着表下的一个子目录,所有...
- **MetaStore**:元数据存储,保存表、分区、字段等信息,通常与MySQL或Derby数据库结合使用。 - **Driver**:驱动程序,负责解析HQL,生成执行计划。 - **Compiler**:编译器,将HQL转化为MapReduce任务。 - **...
元数据通常存储在MySQL或Derby这样的关系型数据库中,通过`hive.metastore.metadb.dir`属性进行配置。 4. **JDBC/ODBC支持**:Hive提供了JDBC(Java Database Connectivity)和ODBC(Open Database Connectivity)...
MySQL 作为 MetaStore 服务器,用于存储 Hive 的元数据,如表结构、分区信息等。配置 Hive 参数,如设置 HiveServer2 的端口、MetaStore 的连接信息等,是确保 Hive 正常运行的关键步骤。 2. **Hive 库操作与表操作...
Hive的元数据库需要一个后端存储系统来保存其元数据。默认情况下,Hive使用内嵌的Derby数据库,但为了支持生产环境,我们通常会配置为使用外部数据库。在本例中,我们将配置Hive使用MariaDB作为其元数据库。这需要...
- **Metastore**:元数据存储,用于保存表的结构信息、分区信息等,通常存储在关系型数据库中,如 MySQL 或 Derby。 2. **HiveQL**: - **DDL(Data Definition Language)**:包括创建、修改和删除表、视图、...
3. **Metastore**:元数据存储服务,保存了关于 Hive 表的元数据,如表结构、分区信息、字段类型等。元数据通常存储在关系数据库中,如 MySQL 或 Derby,为 Hive 提供关于数据存储位置和格式的信息。 4. **Hadoop ...
3. **元数据存储(Metastore)**:存储所有表和分区的结构化信息,如列名、列类型、序列化器和反序列化器,这些信息通常保存在像 MySQL 或 Derby 这样的关系数据库中。 4. **解析器**:负责将用户的 HQL 查询语句...