博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MaxCompute JDBC 2.2 发布说明
阅读量:5991 次
发布时间:2019-06-20

本文共 1600 字,大约阅读时间需要 5 分钟。

简介

MaxCompute JDBC 2.2正式版已于2017年2月24日正式发布。

github地址:

MAVEN依赖:

com.aliyun.odps
odps-jdbc
2.2

在此之前,MaxCompute JDBC最新的两个版本分别是v.1.9.1稳定版和v.2.0 beta版,而v.2.0 beta 之所以没有发布正式版,也是因为其依赖的服务端版本当时尚未对外发布。如今随着MaxCompute新版的对外发布,MaxCompute JDBC 2.2版也正式发布了。

相比于v.1.9.1,v.2.2在易用性、性能以及兼容性方面都有了更好的提升,本文将对其改进与差别做一下简要的说明。

易用性方面

我们在2.X中对配置做了一些面向易用性的调整,这部分具体可以参看一文,而相比于2.0 beta,在2.2正式版中,我们又新增了tunnel_endpoint配置项,其URL与Property两种配置方式的key都为tunnel_endpoint。可用于为tunnel单独指定endpoint,从而覆盖掉默认自动路由的配置内容。

性能方面

在v.1.9.1中,executeQuery一个select查询到获得结果集ResultSet背后的实现是相当低效的。大致的实现逻辑是会通过create table xxx as select …将查询结果集先灌入一张临时表,然后通过tunnel从该临时表下载结果集,最后再drop掉该临时表,其间对于临时表的DDL操作都需要访问底层meta存储,而这些操作的开销本是可以避免的。在v.2.2中,MaxCompute引入了一个叫做InstanceTunnel的新组件,其可用于直接下载一个ODPS Instance的查询结果集,而无需为这些结果集创建临时表,使性能得到了较大的提升。

兼容性方面

在v.1.9.1中,MaxCompute JDBC仅支持原ODPS固有的几种老的数据类型,即bigint、boolean、double、varchar、datetime以及decimal。针对MaxCompute 2.0开始对Hive数据类型的兼容,MaxCompute JDBC 2.2也配合该功能对新类型做了兼容,这些类型包括void、bigint、string、datetime、double、boolean、decimal、array、map、struct、int、tinyint、smallint、date、timestamp、float、char(n)、binary、varchar、interval_year_month以及interval_day_time。但是具体的使用需要配合你的project的配置来看,因为这些MaxCompute的新功能是需要选择性打开的。

另外,我们对

execute ("set x.y.z=abc")

这类flag的生命周期也作了调整,在v.1.9.1中,其生命周期是statement级别的。而在v.2.2中,将被扩大到connection级别。这样一来,同一connection只需第一次创建statement时设置一次set flag,后续这些flag将对跨statement的操作一直有效。

而对于业界的常见工具,2.2也有了更好的支持,可以参看以下几篇文章来获取集成相关工具的最佳实践。

总结

如果你在使用MaxCompute JDBC过程中遇到任何疑问或需求,欢迎向我们反馈。你可以在我们的github中给我们留言或新建issue。当然,我们更欢迎支持MaxCompute JDBC的社区朋友向我们贡献代码,帮助我们一起更快更好的健康发展。

欢迎加入钉钉群讨论

03ea92a4c1fbb04d443ff8f015c957815055111e

转载地址:http://qjilx.baihongyu.com/

你可能感兴趣的文章
Selenium自动化测试框架研究
查看>>
linux后台运行命令详解
查看>>
PHP代码混淆来袭,你值得拥有!
查看>>
字符串替换
查看>>
2016年U盘启动盘制作工具哪个好用?看U盘启动盘排行榜!
查看>>
Java 面向对象 之 对象数组
查看>>
Linux学习笔记6月6日任务
查看>>
Django Meta内部类
查看>>
文件查找命令使用
查看>>
给产品经理讲讲,什么是持续交付和DevOps
查看>>
龚鹏:我是怎么从程序员成为全栈GEEK的
查看>>
Linux LVM硬盘管理及LVM扩容
查看>>
2018-1-31 Linux学习笔记
查看>>
linux根目录结构分析
查看>>
python列表的增删改查
查看>>
ZooKeeper Java API
查看>>
JEPLUS平台首页规划之激活方式与框架设计介绍——JEPLUS软件快速开发平台
查看>>
如何选用人脸识别的门禁和考勤
查看>>
内录音频工具哪个好 怎么录制电脑音频
查看>>
如何开启小米手机5的ROOT权限
查看>>