`
m635674608
  • 浏览: 5028284 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

hive-mysql的关系(Hive集成Mysql作为元数据)

    博客分类:
  • Hive
 
阅读更多

Hive是一个基于Hadoop的数据仓库平台。通过hive,我们可以方便地进行ETL的工作。hive定义了一个类似于SQL的查询语言:HQL,能 够将用户编写的QL转化为相应的Mapreduce程序基于Hadoop执行。

Hive是Facebook 2008年8月刚开源的一个数据仓库框架,其系统目标与 Pig 有相似之处,但它有一些Pig目前还不支持的机制,比如:更丰富的类型系统、更类似SQL的查询语言、Table/Partition元数据的持久化等。

Hive 可以看成是从SQL到Map-Reduce的 映射器 

hive的组件和体系架构:

hive web接口启动:./hive --service hwi

浏览器访问:http://localhost:9999/hwi/

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

Hive安装

内嵌模式:元数据保持在内嵌的Derby模式,只允许一个会话连接

本地独立模式:在本地安装Mysql,把元数据放到Mysql内

远程模式:元数据放置在远程的Mysql数据库。

Hive的数据放在哪儿?

数据在HDFS的warehouse目录下,一个表对应一个子目录。

本地的/tmp目录存放日志和执行计划

hive的表分为两种,内表和外表。 
Hive 创建内部表时,会将数据移动到数据仓库指向的路径;若创建外部表,仅记录数据所在的路径,不对数据的位置做任何改变。 
在删除表的时候,内部表的元数据和数据会被一起删除, 而外部表只删除元数据,不删除数据。这样外部表相对来说更加安全些,数据组织也更加灵活,方便共享源数据。

使用Mysql作为Hive metaStore的存储数据库

其中主要涉及到的表如下:
表名 说明 关联键
TBLS 所有hive表的基本信息(表名,创建时间,所属者等) TBL_ID,SD_ID
TABLE_PARAM 表级属性,(如是否外部表,表注释,最后修改时间等) TBL_ID
COLUMNS Hive表字段信息(字段注释,字段名,字段类型,字段序号) SD_ID
SDS 所有hive表、表分区所对应的hdfs数据目录和数据格式 SD_ID,SERDE_ID
SERDE_PARAM 序列化反序列化信息,如行分隔符、列分隔符、NULL的表示字符等 SERDE_ID
PARTITIONS Hive表分区信息(所属表,分区值) PART_ID,SD_ID,TBL_ID
PARTITION_KEYS Hive分区表分区键(即分区字段) TBL_ID
PARTITION_KEY_VALS Hive表分区名(键值) PART_ID

 

 

http://my.oschina.net/winHerson/blog/190131

分享到:
评论

相关推荐

    hive-1.1.0-cdh5.14.2.tar.gz和mysql-connector-java-5.1.38.jar连接包

    6. **Hive与MySQL的集成**: 在配置Hive时,通过修改`hive-site.xml`配置文件,指定MySQL为元数据存储,并加载`mysql-connector-java-5.1.38.jar`到Hive的类路径中,就可以实现两者间的连接。 7. **HiveQL**: Hive...

    apache-hive-3.1.2-bin.tar.gz

    5. `metastore/`:元数据存储相关的库和脚本,Hive使用元数据来跟踪表和分区的信息。 6. `docs/`:文档和帮助资料。 升级Jetty的过程可能包括下载源码,修改pom.xml文件以指定新版本,编译源码,然后将新编译的...

    hive-mysql安装包,HIVE连接mysql驱动

    新手学习大数据搭建环境所需要安装资料包,其中包括hive-mysql安装包,HIVE连接mysql驱动。...MySQL-client-5.6.24-1.el6.x86_64.rpm mysql-connector-java-5.1.27.tar.gz MySQL-server-5.6.24-1.el6.x86_64.rpm

    hive-exec-2.1.1.jar

    而“数据仓库”则强调了Hive作为大数据分析的仓库角色,它将非结构化和半结构化的数据转化为结构化的数据模型,便于分析。“大数据”表明Hive适用于处理海量数据场景。 在实际应用中,我们还需要考虑其他关键组件,...

    hive-jdbc-1.2.1.spark2.jar

    hive-serde-1.1.0,mysql-connector-java-5.1.31.jar,hive-jdbc-standalone,atlas-plugin-classloader-1.2.0,hive-bridge-shim-1.2.0

    apache-hive-2.3.3-bin.tar.gz

    5. **Hive HCatalog**:作为元数据管理层,允许不同工具(如Pig、Spark SQL)共享Hive的元数据,促进了数据的互操作性。 6. **HQL**:Hive的查询语言,语法类似于SQL,但有其特有的一些概念,如分区、桶、动态分区...

    apache-hive-2.3.9-bin.tar大数据HIVE.zip

    元数据可以存储在本地MySQL或远程数据库中,以便多个Hive实例共享。 3. **Hive SQL(HQL)**:HQL是Hive提供的SQL方言,用于查询和管理数据。它支持SELECT、INSERT、UPDATE、DELETE等基本操作,以及JOIN、GROUP BY...

    hive-mysqlconnector.rar

    总的来说,这个压缩包提供的资源可以帮助用户在Hadoop环境中建立一个使用MySQL作为元数据存储的Hive实例,便于管理和查询大规模的数据。通过Hive的SQL语法,用户可以轻松地对存储在HDFS上的数据进行分析,而MySQL-...

    apache-hive-2.1.0-bin.tar.gz

    元数据通常存储在关系数据库中,如MySQL,以便于高效地管理和检索。 2. **Hive CLI (Command Line Interface)**:Hive的命令行接口,让用户可以通过输入HQL语句来执行查询和管理数据仓库。 3. **Hive Server**:...

    apache-hive-2.3.0-bin.tar.gz

    1. **元数据存储**:Hive将元数据(如表结构、分区信息等)存储在数据库中(通常是MySQL或Derby),这些元数据描述了数据的组织方式。 2. **HiveQL**:HQL是Hive的查询语言,与SQL高度兼容,允许用户编写复杂的查询...

    apache-hive-1.2.1-bin.tar.gz

    2. **元数据管理**:Hive 存储了关于数据表结构和分区的信息,这些元数据存储在传统的 RDBMS(如 MySQL 或 PostgreSQL)中,使得数据查询和管理更为方便。 3. **可扩展性**:Hive 可以通过添加更多的 Hadoop 数据...

    apache-hive-2.3.7-bin.tar.gz

    4. **metastore**:元数据存储相关文件,包括 `derby.log` 和 `lib` 文件夹,元数据存储默认使用 Apache Derby 数据库,但也可以配置为其他数据库系统如 MySQL 或 PostgreSQL。 5. **scripts**:包含 Hive 的初始化...

    apache-hive-2.1.0-bin.tar.zip

    2. **Hive Metastore**:存储元数据的地方,如表的定义、分区信息等,通常与数据库(如MySQL)集成。 3. **Hive CLI (Command Line Interface)**:命令行接口,用户可以通过它提交查询并查看结果。 4. **Hive JDBC/...

    apache-hive-1.2.2-bin.tar.gz

    - **元数据存储**:Hive使用MySQL或Derby等关系型数据库来存储表结构和分区等元数据。 - **Hive服务器**:处理客户端请求,解析SQL语句,并生成MapReduce任务。 - **HDFS**:作为数据存储层,Hive将数据文件存储...

    apache-hive-2.3.8-bin.tar.gz

    apache-hive-2.3.8-bin.tar.gz下载自:https://mirrors.bfsu.edu.cn/apache/hive/hive-2.3.8/,因担心网址后续可能不再让下载,所以上传到CSDN备份

    hive1.2.1-mysql-connector.rar

    这个压缩包包含的资源是用来将Hive与MySQL数据库集成的,使得Hive能够通过MySQL作为元数据存储。 【描述】"mysql-connector" 提到的MySQL连接器是MySQL数据库与Java应用程序之间通信的关键组件。这个连接器(即JDBC...

    apache-hive-3.1.2+mysql-connector-java-5.1.32-bin.jar

    在Hive中,我们通常会配置MySQL作为元数据存储,用来保存表信息、分区信息等元数据,因此这个驱动程序是搭建Hive环境的必要组件。 `apache-hive-3.1.2-bin.tar.gz`是Apache Hive 3.1.2的二进制发行版,包含了运行...

    apache-hive-3.1.3-bin.tar.gz

    5. **metastore**:元数据存储相关的目录,Hive 使用元数据来描述表的结构、分区等信息,这些信息通常存储在数据库中(如 MySQL 或 PostgreSQL)。 6. **libexec**:包含 Hive 内部使用的脚本和辅助程序。 7. **...

    apache-hive-2.2.0-src.tar.gz

    2. **元数据管理**:Hive 包含了一个元数据存储服务,通常使用 MySQL 或 PostgreSQL 作为后端数据库,存储关于表结构、分区、列等信息。 3. **查询引擎**:HiveQL 允许用户以类似 SQL 的方式编写查询,然后转换为 ...

Global site tag (gtag.js) - Google Analytics