hive JdbcStorageHandler 实现hive 即时调用mysql数据库中的数据

JdbcStorageHandler   项目地址

https://github.com/qubole/Hive-JDBC-Storage-Handler

可以使用如下的建表语句在 hive 中创建符合 jdbc 的数据库支持的表。

CREATE EXTERNAL TABLE domains (
 id INT,
 account_id INT,
 domain_name STRING,
 created STRING,
 modified STRING,
 link_metric_id INT,
 config_domain_id INT
)
STORED BY `org.apache.hadoop.hive.jdbc.storagehandler.JDBCStorageHandler`
TBLPROPERTIES (
 “mapred.jdbc.driver.class” = “com.mysql.jdbc.Driver”,                --jdbc类
 “mapred.jdbc.url” =  
“jdbc:mysql://${jdbc.reporting.host}/${jdbc.reporting.databaseName}”,   --jdbc url
“mapred.jdbc.input.table.name” = “domains”,                           --表名
 “mapred.jdbc.username” = “${jdbc.reporting.username}”,               --mysql user
 “mapred.jdbc.password” = “${jdbc.reporting.password}”,
 “hive.jdbc.update.on.duplicate” = “true”
);

当然也可以在TBLPROPERTIES 中指定表的列:

‘mapred.jdbc.input.field.name’=‘col1,col2,....’

一旦建表成功你就可以想hive表一样使用mysql中的表,当然前提是mysql中的表存在,如果mysql中的表被删除,自然也就无法通过jdbc连接到该表执行相关查询。

存储处理程序提供对谓词下推的支持。这意味着任何WHERE子句表达式都可以由

底层数据库处理。

一些其他的参数供参考:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值