Hive元数据的读取的两种方式

本文介绍了Hive中两种元数据存储模式:直连模式和代理模式。直连模式通过JDBC直接从MySQL读取元数据,适用于hive-cli、hiveserver2等组件。代理模式则适用于第三方程序通过Thrift接口读取Hive元数据。

1.直连模式

使用JDBC的方式直接去mysql中读取元数据,称为直连模式

需要的条件:

  • 连接Mysql的驱动,已经放入到$HIVE_HOME/lib下
  • 创建连接时,需要有url,username,password,driveClassName,在hive-site.xml中配置
<property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://hadoop104:3306/metastore?createDatabaseIfNotExist=true&amp;useUnicode=true&amp;characterEncoding=UTF-8
 </value>
    </property>

    <property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.jdbc.Driver</value>
    </property>

    <property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>123321</value>
    </property>

<property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>root</value>
    </property>

hive-cli,hiveserver2, hive metastoreservice都是采取直连模式获取元数据!

因为:

hive-cli的启动:

hive 
实际上,等价于
hive --service cli

hiveserver2的启动:

hiveserver2 
实际上,等价于
hive --service hiveserver2

hive metastoreservice的启动:

hive --service metastore

hive命令在启动时,会读取hive-site.xml配置文件,加载lib下所有的jar!

2.代理模式

指第三方程序(非hive的程序,例如sparksql程序,presto,impala),希望读取Hive中的元数据!

有两种方式:

  • 直连模式(不安全,不推荐)
  • 代理模式
 <property>
        <name>hive.metastore.uris</name>
        <value>thrift://hadoop103:9083</value>
    </property>
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值