elasticsearch-sql 增加 jdbc支持

增加该功能,纯粹是在关issue的时候看到了第一个issue,参看Is there any plan for JDBC drivers?。

大家讨论的时候,提供了两个选择,一个是apache calcite, 另外一个是利用 alibaba 的jdbc 连接池 druid。最后我选择了使用druid 来完成。为啥不用第一个的原因如下:

I have tried calcite to add this feature to es-sql. It's proved to be unsuitable. calcite kind like spark datasource API which provide scanTable,filterTabe,translateTable which means you cannot access original sql(Raw SQL) but some expressions . Also, this means join ,group by action are all done in calcite which really impact performance .

PS: 该功能还只是Demo阶段,很多功能还不完备。等稳定后会合并到原项目中。目前经过几轮PR,

elasticsearch-sql 已经支持比较复杂的SQL语法了。

安装步骤

代码示例

public class JDBCTests {
    @Test
    public void testJDBC() throws Exception {
        Properties properties = new Properties();
        properties.put("url", "jdbc:elasticsearch://127.0.0.1:9300/twitter2");
        DruidDataSource dds = (DruidDataSource) ElasticSearchDruidDataSourceFactory.createDataSource(properties);
        dds.setInitialSize(1);
        Connection connection = dds.getConnection();
        PreparedStatement ps = connection.prepareStatement("SELECT split(trim(concat_ws('dd',newtype,num_d)),'dd')[0] as nt from  twitter2");
        ResultSet resultSet = ps.executeQuery();
        while (resultSet.next()) {
            System.out.println(resultSet.getString("nt"));
        }

        ps.close();
        connection.close();
        dds.close();
    }

}
时间: 2024-08-31 11:01:44

elasticsearch-sql 增加 jdbc支持的相关文章

springmvc项目,增加jdbc支持

项目增加jdbc支持,访问,并操作数据 以后再写,先写一篇bug博客. 在项目中,增加jdbc的支持. 数据源,用的是  阿里 数据源.配置如下: 至于,有关数据源选择,请参考我转载的其他几篇文章: http://blog.csdn.net/u012246342/article/details/52231451 http://blog.csdn.net/u012246342/article/details/52231277 <!-- 配置数据源 --> <!-- 阿里巴巴数据源,不用配置

JAVA CAS单点登录之四:CAS服务器增加JDBC访问能力

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://dba10g.blog.51cto.com/764602/1753680 经过前面说明,已经完成了CAS服务器的搭建,代理客户端的搭建以及普通客户端,back-end-service客户端的搭建.如果不明白的,参照如下链接. JAVA CAS单点登录之一:搭建CAS服务器  JAVA CAS单点登录之二:CAS普通模式1演练 JAVA CAS单点登录之三:CAS代理模式演练  现

Microsoft宣布新版SQL Server将支持Windows与Linux两大平台

今年三月份,微软首次宣布自旗舰产品SQL Server将支持Linux平台,给世界带来了一个巨大的惊喜.到目前为止,只有被邀请才能预览.但是微软11月17日在纽约举办的Connect开发者大会上宣布,想尝试的用户现在可以试用其内测预览版了.此内测预览版是第一个可同时用于Windows和Linux的版本.由于新版SQL Server支持Docker容器,甚至MacOS用户也能够运行.事实上,微软正下赌注--将容器作为预览的主要分发机制之一--它很快就会从Azure Virtual Machines

sharepoint 2010扩展调查字段属性(2) 增加图片支持

除了扩展图片评选功能,还可以扩展多一个评论功能,如下图: 只需要在原来的基础上sharepoint 2010 扩展调查字段属性(1)-增加图片支持,创建多一个叫评论的问题,选择TxtForSurvey问题类型,如下图: 配置完成后,点击完成.就可以实现在评选的时候,允许添加评论. 查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/web/sharepoint/

azure-Azure SQL现在能支持横向拓展么?

问题描述 Azure SQL现在能支持横向拓展么? 大家好,请问下Azure SQL现在能支持横向拓展么?????? 解决方案 可以,你可以配置云服务,然后将多个虚拟机放在一个云服务中,配置可用集.注意虚拟机必须是标准实例,不能是基本实例. 解决方案二: 看错了,SQL Server也支持弹性扩展,不依赖VMhttp://www.windowsazure.cn/home/features/sql-database/ 在 Windows Azure 强大功能的支持下,高吞吐量应用程序可以在上千个数

如何使用Spark SQL 的JDBC server

简介         Spark SQL  provides JDBC connectivity, which is useful for connecting business intelligence (BI) tools to a Spark cluster and for sharing a cluster across multipleusers. The JDBC server runs as a standalone Spark driver program that can be

Google Android“L”有可能会增加多用户支持

据androidpolice.com,来自 Google 开发者的一则回复表明,Google 很有可能为其下一版本的 Android 添加多用户支持. 情况是这样的.今天早些时候,有人向 Android 问题跟踪发了一张帖子, 抱怨称智能手机缺少多用户支持.该用户称平板电脑可以为不同用户设立不同的账号,各自安装不同的应用.这样的话,就可以限制小孩访问一些自己的应用.但是 手机目前不支持.他希望 Android 增加此项支持,同时还应该可以让父母设置是否开放 Play Store 的访问等. 该贴

为php增加GD库及sql 2000的支持_星外虚拟主机

这些支持默认是不安装的,因此你要手工增加: 在这儿下载 http://www.php.net/downloads.php#v4 中的: Windows Binaries All Windows binaries can be used on Windows 98/Me and on Windows NT/2000/XP/2003. PHP 4.4.1 zip package [8,082Kb] - 31 Oct 2005 (CGI binary plus server API versions

让SQL Server数据支持XML

如果你在IT业工作,那么你很可能听说过XML:但如果你的工作主要与SQL Server有关,那么你可能并没有直接运用过XML.XML已经是Web编程环境中的普遍的数据格式了,而且它也是.NET Framework中主要的底层技术之一.SQL Server以两种方式来支持XML:通过SQL Server本身的功能,以及通过发布称为SQLXML的额外的功能.SQLXML扩展了SQL Server,并提供了XML兼容性.在本月的专栏中,我将讲述SQL Server对XML的内置的支持,并讲述通过发布S