Hive教程之metastore的三种模式

Hive数据仓库踏坑(上) Hive数据仓库 了解!!! 大数据解三个问题:(1)海量(PB级以上,EB,ZB,YB等)数据的传输 (2)海量数据的存储(3)海量数据的计算 ​ 常识:b—>B—>KB—>MB—>GB—>TB—>PB—>EB—>ZB—>YB等等 Hive:由Facebook开源用于解决海量结构化日志的数据统计 Hive是基于Hadoop的一个数据仓库... 阅读详情

Hive中metastore(元数据存储)的三种方式:

  • 内嵌Derby方式
  • Local方式
  • Remote方式

[一]、内嵌Derby方式

这个是Hive默认的启动模式,一般用于单元测试,这种存储方式有一个缺点:在同一时间只能有一个进程连接使用数据库。

hive-site.xml 中jdbc URL、驱动、用户名、密码等的配置信息如下:

XHTML

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

<property>

  <name>javax.jdo.option.ConnectionURL</name>

  <value>jdbc:derby:;databaseName=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.EmbeddedDriver</value>

  <description>Driver class name for a JDBC metastore</description>

</property>

<property>

  <name>javax.jdo.option.ConnectionUserName</name>

  <value>APP</value>

  <description>username to use against metastore database</description>

</property>

<property>

  <name>javax.jdo.option.ConnectionPassword</name>

  <value>mine</value>

  <description>password to use against metastore database</description>

</property>

<property>

  <name>hive.metastore.warehouse.dir</name>

  <value>file:///Users/micmiu/tmp/hive/warehouse</value>

  <description>unit test data goes in here on your local filesystem</description>

</property>

<!-- micmiu.com -->

执行初始化命令:schematool -dbType derby -initSchema

查看初始化后的信息: schematool -dbType derby -info

配置完成后就可在shell中以CLI的方式访问hive 进行操作验证。

[二]、Local方式

以本地Mysql数据库为例:创建好用户:hive;database:hive。

配置文件 hive-site.xml 中jdbc URL、驱动、用户名、密码等属性值配置如下:

XHTML

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

<property>

  <name>javax.jdo.option.ConnectionURL</name>

  <value>jdbc:mysql://localhost/hive?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>hive</value>

  <description>username to use against metastore database</description>

</property>

<property>

  <name>javax.jdo.option.ConnectionPassword</name>

  <value>micmiu</value>

  <description>password to use against metastore database</description>

</property>

<property>

  <name>hive.metastore.warehouse.dir</name>

  <!-- base hdfs path -->

  <value>/user/hive/warehouse</value>

  <description>location of default database for the warehouse</description>

</property>

<!-- micmiu.com -->

ps:需要把mysql的驱动包copy到目录 <HIVE_HOME>/lib 中

如果是第一次需要执行初始化命令:schematool -dbType mysql -initSchema

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

micmiu-mbp:mysql micmiu$ schematool -dbType mysql -initSchema

14/02/17 14:46:08 INFO Configuration.deprecation: mapred.input.dir.recursive is deprecated. Instead, use mapreduce.input.fileinputformat.input.dir.recursive

14/02/17 14:46:08 INFO Configuration.deprecation: mapred.max.split.size is deprecated. Instead, use mapreduce.input.fileinputformat.split.maxsize

14/02/17 14:46:08 INFO Configuration.deprecation: mapred.min.split.size is deprecated. Instead, use mapreduce.input.fileinputformat.split.minsize

14/02/17 14:46:08 INFO Configuration.deprecation: mapred.min.split.size.per.rack is deprecated. Instead, use mapreduce.input.fileinputformat.split.minsize.per.rack

14/02/17 14:46:08 INFO Configuration.deprecation: mapred.min.split.size.per.node is deprecated. Instead, use mapreduce.input.fileinputformat.split.minsize.per.node

14/02/17 14:46:08 INFO Configuration.deprecation: mapred.reduce.tasks is deprecated. Instead, use mapreduce.job.reduces

14/02/17 14:46:08 INFO Configuration.deprecation: mapred.reduce.tasks.speculative.execution is deprecated. Instead, use mapreduce.reduce.speculative

Metastore connection URL: jdbc:mysql://localhost/hive?createDatabaseIfNotExist=true

Metastore Connection Driver : com.mysql.jdbc.Driver

Metastore connection User: hive

Starting metastore schema initialization to 0.12.0

Initialization script hive-schema-0.12.0.mysql.sql

Initialization script completed

schemaTool completeted

查看初始化后信息 schematool -dbType mysql -info

初始化后查看mysql中表情况:show tables;

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

mysql&gt; show tables;

+---------------------------+

| Tables_in_hive            |

+---------------------------+

| BUCKETING_COLS            |

| CDS                       |

| COLUMNS_V2                |

| DATABASE_PARAMS           |

| DBS                       |

| DB_PRIVS                  |

| DELEGATION_TOKENS         |

| GLOBAL_PRIVS              |

| IDXS                      |

| INDEX_PARAMS              |

| MASTER_KEYS               |

| NUCLEUS_TABLES            |

| PARTITIONS                |

| PARTITION_EVENTS          |

| PARTITION_KEYS            |

| PARTITION_KEY_VALS        |

| PARTITION_PARAMS          |

| PART_COL_PRIVS            |

| PART_COL_STATS            |

| PART_PRIVS                |

| ROLES                     |

| ROLE_MAP                  |

| SDS                       |

| SD_PARAMS                 |

| SEQUENCE_TABLE            |

| SERDES                    |

| SERDE_PARAMS              |

| SKEWED_COL_NAMES          |

| SKEWED_COL_VALUE_LOC_MAP  |

| SKEWED_STRING_LIST        |

| SKEWED_STRING_LIST_VALUES |

| SKEWED_VALUES             |

| SORT_COLS                 |

| TABLE_PARAMS              |

| TAB_COL_STATS             |

| TBLS                      |

| TBL_COL_PRIVS             |

| TBL_PRIVS                 |

| TYPES                     |

| TYPE_FIELDS               |

| VERSION                   |

+---------------------------+

41 rows in set (0.00 sec)

配置完成后就可在shell中以CLI的方式访问hive 进行操作验证。

[三]、Remote方式

以Mysql数据库(192.168.6.77)为例:创建好用户:hive;database:hive_meta。Remote方式需要分别配置服务端和客户端的配置文件:

服务端的 hive-site.xml 中jdbc URL、驱动、用户名、密码等属性值配置如下:

XHTML

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

<property>

  <name>javax.jdo.option.ConnectionURL</name>

  <value>jdbc:mysql://192.168.6.77/hive_meta?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>hive</value>

  <description>username to use against metastore database</description>

</property>

<property>

  <name>javax.jdo.option.ConnectionPassword</name>

  <value>micmiu</value>

  <description>password to use against metastore database</description>

</property>

<property>

  <name>hive.metastore.warehouse.dir</name>

  <!-- base hdfs path -->

  <value>/user/hive/warehouse</value>

  <description>base hdfs path :location of default database for the warehouse</description>

</property>

<!-- micmiu.com -->

ps:需要把mysql的驱动包copy到目录 <HIVE_HOME>/lib 中

如果是第一次需要执行初始化命令:schematool -dbType mysql -initSchema

客户端中配置内容修改如下:

XHTML

1

2

3

4

5

6

7

8

9

10

11

12

13

<!-- thrift://<host_name>:<port> 默认端口是9083 -->

<property>

  <name>hive.metastore.uris</name>

  <value>thrift://192.168.6.77:9083</value>

  <description>Thrift uri for the remote metastore. Used by metastore client to connect to remote metastore.</description>

</property>

<!--  hive表的默认存储路径 -->

<property>

  <name>hive.metastore.warehouse.dir</name>

  <value>/user/hive/warehouse</value>

  <description>location of default database for the warehouse</description>

</property>

hive metastore 服务端启动命令:
hive --service metastore -p <port_num>
如果不加端口默认启动:hive --service metastore,则默认监听端口是:9083 ,注意客户端中的端口配置需要和启动监听的端口一致。服务端启动正常后,客户端就可以执行hive操作了。

参考:

https://cwiki.apache.org/confluence/display/Hive/AdminManual+MetastoreAdmin

Hive的Metastore三种配置方式 阅读详情

相关推荐

Hive配置参数说明和配置注意事项

hive.metastore.warehouse.dir该参数指定了 Hive 的数据存储目录,默认位置在 HDFS 上面的 /user/hive/warehouse 路径下。hive.exec.scratchdir该参数指定了 Hive 的数据临时文件目录,默认位置为 HDFS 上面的 /tmp/hive 路径下。更多配置参数说明:https://my.oschina.net/HIJAY/blo...

PeixinYe的博客 1279

Hive数据仓库

Hive:计算框架,本质是将HQL转化为MapReduce程序,是一个基于Hadoop的数据仓库工具,可以将结构化的数据映射为一张表,提供类sql查询功能。 特点: hive处理的数据存储在HDFS中 hive分析数据底层的默认实现是MapReduce 执行的任务运行在yarn上 操作接口采用了类sql语法 将hql语句解析为MapReduce运算 执行延迟高,吞吐量大,适合离线的大数据运算,不适合小数据的计算处理 支持用户自定义函数,根据自己的需求实现业务函数 概述: 数据仓库的内容是读多写少,hiv

Tommy·Vercetti 的博客 6009

Hive Metastore详解大全

1、何为Hive MetaStore?

一个数据小开发的博客 1万+

hive hive.metastore.warehouse.dir 和 hive.metastore.warehouse.external.dir 的作用

第1种,当没有设置 hive.metastore.warehouse.external.dir 参数,或者参数 hive.metastore.warehouse.external.dir 的值为空。${hive.metastore.warehouse.external.dir} 是参数 hive.metastore.warehouse.external.dir 的值。如以下语句在 ${hive.metastore.warehouse.dir} 目录下创建子目录tmp.db,作为数据库的目录。

houzhizhen的专栏 3713

Hive简介及元数据存储(Metastore的三种配置方式)

一 Hive介绍 Hive是基于Hadoop的一个数据仓库,Hive能够将SQL语句转化为MapReduce任务进行运行。   Hive架构图分为以下四部分:    1、Hive有三个用户接口: a. 命令行接口(CLI):以命令行的形式输入SQL语句进行数据数据操作 b. Web界面:通过Web方式进行访问。      c. Hive的远程服务方式:通过JDBC等方式进行访问。       ...

IT Baicn的博客 7974

Hive 元数据服务 MetaStore

1. 概念 MetaSore 是 Hive 元数据存储的地方。Hive 数据库、表、函数等的定义都存储在 MetaStore 中。根据系统配置方式,统计信息和授权记录也可以存储在这。Hive 或者其他执行引擎在运行时可以使用这些数据来确定如何解析,授权以及有效执行用户的查询。MetaStore 分为两个部分:服务和后台数据的存储。 2. 配置参数 这里只会展示与 MetaStore 相关的配置参数,与 MetaSote 不相关的配置参数可以在这查阅。 配置参数 参数说明 hive.metas

SmartSi 8152

Alex 的 Hadoop 菜鸟教程: 第10课 Hive 安装和使用教程

Hive 提供了一个让大家可以使用sql去查询数据的途径。让大家可以在hadoop上写sql语句。但是最好不要拿Hive进行实时的查询。因为Hive的实现原理是把sql语句转化为多个Map Reduce任务所以Hive非常慢,官方文档说Hive 适用于高延时性的场景而且很费资源。

软件哲学 1万+

C++上机——2023年“信息与未来”小学生编程思维展示官方题解

本次活动前三题是“根据问题描述实现代码”类型的问题,题解和示例代码由人工智能GPT-4直接阅读题面后生成――只要熟悉C++的语法和基本的编程、调试,即可解决p1、p2、p3。后三题有一定的算法性,我们给出命题思路和一些可能的解法。注意:本题解是面向指导教师的;指导教师在讲解时可以根据学生掌握程度进行调整。

qq_39127687的博客 2296

Hive安装 保姆级安装教程

在hive-site.xml中,3215行,96列的地方有一个非法字符将这个非法字符,删除,保存即可。

qq_68076599的博客 1142

BSW: Dcm模块配置--28服务

这个章节讲解下UDS中的28服务(Communcation Control)的配置,顾名思义,对当前ECU的通讯状态进行变更,主要设置应用报文,网络管理报文的收发控制,通常应用在刷写APP软件时,降低总线负载。这里首先要提醒的一点是,28服务几乎不需要手写代码,只有在客户需求要求前置条件不满足时报特定NRC时才需要填充代码。实际配置中主要涉及的模块有DCM,BSWM,ComM,RTE.2.BswM模块的配置。3.ComM模块的配置。1.DCM模块的配置。

Forever_Oct的博客 3086

SAP子公司财务账套配置实战:从公司代码到记账期间变式的关键步骤

本文详细介绍了为SAP子公司快速配置财务账套的实战步骤。通过复用母公司成熟配置,重点阐述了从创建公司代码、关联控制范围到分配记账期间变式的核心流程,帮助顾问在一两个小时内完成核心骨架搭建,实现高效集团财务管控。

cake8的博客 165

Hive数据仓库---Hive的安装与配置

Hive的安装与配置

m0_58625397的博客 2563

QCM6490平台DDR测试:从QDUTT配置到眼图分析的实战指南

本文详细介绍了QCM6490平台DDR测试的全流程,从QDUTT工具安装配置到眼图分析,提供了实战操作指南和常见问题解决方案。通过具体案例分享,帮助工程师掌握DDR测试技巧,确保内存稳定性,特别适用于物联网和边缘计算设备的开发调试。

weixin_33910191的博客 458

Hive的安装及MySQL搭配使用

一、Hive的安装方式 hive的安装一共有三种方式:内嵌模式、本地模式、远程模式 元数据服务(metastore)作用是:客户端连接metastore服务,metastore再去连接MySQL数据库来存取元数据。有了metastore服务,就可以有多个客户端同时连接,而且这些客户端不需要知道MySQL数据库的用户名和密码,只需要连接metastore 服务即可。 1、内嵌模式 内嵌模式使用的是内嵌的Derby数据库来存储元数据,也不需要额外起Metastore服务。数据库和Metastore服务都..

stone_tomcate的博客 1894

光耦继电器电路分析

光耦电路的分析笔记

MingYue_SSS的博客 6875

电信光猫隐藏的VOIP功能揭秘:不用座机也能打电话(EasySip实战)

本文揭秘了电信光猫隐藏的VOIP功能,通过EasySip实战演示如何无需座机实现高清通话。详细解析了光猫的SIP协议支持、语音VLAN配置及网络架构优化,帮助用户利用现有设备提升通话质量并扩展设备兼容性,特别适合智能家居和企业级应用场景。

weixin_29268385的博客 756

Hive 索引 和 Hive Metastore 的三种配置方式

Hive 索引 和 Hive Metastore 的三种配置方式

qq_42952637的博客 2009

YOLOv13添加OREPA模块 准确率提升10.56个点,map提升11.87个点。小目标轻量化

本文提出了一种新的OREPA(Optimal Recursive Edge-Preserving Attention)模块,通过结合递归和边缘保留注意力机制,显著提升了目标检测模型的性能。实验结果表明,添加OREPA模块后,准确率提升了10.56个百分点,mAP提升了11.87个百分点。OREPA模块包含三个核心组件:OREPA1处理特征图并保留边缘信息,Bottleneck_OREPA作为瓶颈模块降低计算量,OREPA类通过堆叠多个Bottleneck_OREPA增强网络表达能力。文章详细介绍了如何将OR

FJN110的博客 2761
上一篇: SAP数据量大分批处理
下一篇: 深入理解spark-两种调度模式FIFO,FAIR模式
fastrunner2003
博客等级 码龄24年 36粉丝 58原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值