1.概述

ODBC External Table Of Doris 提供了Doris通过数据库访问的标准接口(ODBC)来访问外部表,外部表省去了繁琐的数据导入工作,让Doris可以具有了访问各式数据库的能力,并借助Doris本身的OLAP的能力来解决外部表的数据分析问题:

  • 支持各种数据源接入Doris

  • 支持Doris与各种数据源中的表联合查询,进行更加复杂的分析操作

  • 通过insert into将Doris执行的查询结果写入外部的数据源

本文主要介绍Doris ODBC的安装使用方式

这里以最常用的Mysql为例。

2.ODBC驱动安装

2.1 安装Mysql ODBC驱动

Mysql ODBC驱动下载地址:dev.mysql.com/downloads

这里我们下载的是RPM安装包:mysql-connector-odbc-8.0.11-1.el7.x86_64.rpm

然后执行

 yum localinstall -y mysql-connector-odbc-8.0.11-1.el7.x86_64.rpm

2.2 配置Mysql ODBC驱动

编辑 /etc/odbcinst.ini

 [MySQL] Description=ODBC for MySQL Driver=/usr/lib/libmyodbc5.so Setup=/usr/lib/libodbcmyS.so Driver64=/usr/lib64/libmyodbc5.so Setup64=/usr/lib64/libodbcmyS.so FileUsage=1

 [MySQL ODBC 8.0 Unicode Driver] Driver=/usr/lib64/libmyodbc8w.so UsageCount=1

 [MySQL ODBC 8.0 ANSI Driver] Driver=/usr/lib64/libmyodbc8a.so UsageCount=1

2.3 测试驱动

配置 /etc/odbc.ini

 [mysql] Description     = Data source MySQL Driver          = MySQL ODBC 8.0 Driver Server          = 192.168.1.120 Host            = 192.168.1.120 Database        = dbname Port            = 3306 User            = root Password        = 123456

一般是通过uncode 方式连接,Driver 必须是MySQL ODBC 8.0 Driver ,

其他参数按mysql server 的设置。Database 选择已经建立好的数据库。

2.4 测试ODBC连接

执行:

 $ isql mysql+---------------------------------------+ | Connected!                            ||                                       || sql-statement                         || help [tablename]                      || quit                                  ||                                       |+---------------------------------------+ SQL> select * from test limit 2;+---------------------------------------------------+-----------+ | name                                              | age       |+---------------------------------------------------+-----------+ | zhangfeng                                         | 20        || zhang                                             | 22        |+---------------------------------------------------+-----------+ SQLRowCount returns 22 rows fetched

一切正常

3. 配置Doris be ODBC

Doris 使用ODBC连接mysql或者其他数据库,只需要在BE节点安装和配置ODBC即可

修改BE节点odbc配置信息

 ├── bin │   ├── be.pid │   ├── start_be.sh │   └── stop_be.sh ├── conf │   ├── be.conf │   └── odbcinst.ini   //修改这个文件的配置信息 ├── lib │   ├── meta_tool │   ├── palo_be │   ├── small_file │   ├── udf │   └── udf-runtime

示例:

我这里只使用了Mysql

 # Driver from the postgresql-odbc package # Setup from the unixODBC package [PostgreSQL] Description     = ODBC for PostgreSQL Driver          = /usr/lib/psqlodbc.so Setup           = /usr/lib/libodbcpsqlS.so FileUsage       = 1

 # Driver from the mysql-connector-odbc package # Setup from the unixODBC package #[MySQL ODBC 8.0 Unicode Driver] #Description     = ODBC for MySQL #Driver          = /usr/lib64/libmyodbc8w.so #FileUsage       = 1 [MySQL Driver] Description     = ODBC for MySQL Driver          = /usr/lib/libmyodbc8a.so FileUsage       = 1

 # Driver from the oracle-connector-odbc package # Setup from the unixODBC package [Oracle 19 ODBC driver] Description=Oracle ODBC driver for Oracle 19 Driver=/usr/lib/libsqora.so.19.1

配置完以后重启BE即可,所有BE节点操作一样

4. Doris 使用ODBC访问外部数据源

4.1 不使用Resource方式访问

 CREATE EXTERNAL TABLE `test_mysql` (`k1` decimal(9, 3) NOT NULL COMMENT "",`k2` char(10) NOT NULL COMMENT "",`k3` datetime NOT NULL COMMENT "",`k5` varchar(20) NOT NULL COMMENT "",`k6` double NOT NULL COMMENT "" ) ENGINE=ODBCCOMMENT "ODBC" PROPERTIES ("host" = "192.168.0.1","port" = "3306","user" = "root","password" = "123456","database" = "test","table" = "test","driver" = "MySQL Driver",  --注意这里的名称和odbcinst.ini里的mysql[]里的名称一致 "odbc_type" = "mysql" );

然后在doris里执行查询验证

4.2 通过ODBC_Resource来创建ODBC外表 (推荐使用的方式)

首先创建Resource

 CREATE EXTERNAL RESOURCE `mysql_odbc` PROPERTIES ( "type" = "odbc_catalog", "host" = "192.168.0.1", "port" = "3306", "user" = "root", "password" = "123456", "database" = "test", "driver" = "MySQL Driver",  --注意这里的名称和odbcinst.ini里的mysql[]里的名称一致 "odbc_type" = "mysql" );

然后创建 ODBC 外表

 CREATE EXTERNAL TABLE `test_mysql` (`k1` decimal(9, 3) NOT NULL COMMENT "",`k2` char(10) NOT NULL COMMENT "",`k3` datetime NOT NULL COMMENT "",`k5` varchar(20) NOT NULL COMMENT "",`k6` double NOT NULL COMMENT "" ) ENGINE=ODBCCOMMENT "ODBC" PROPERTIES ("odbc_catalog_resource" = "mysql_odbc","database" = "test","table" = "test" );

然后测试是否正常

Doris ODBC操作支持方式

  1. 支持Doris与各种数据源中的表联合查询,进行更加复杂的分析操作

  2. 通过insert into将Doris执行的查询结果写入外部的数据源

本文分享自微信公众号 - ApacheDoris(gh_80d448709a68)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“ OSC源创计划 ”,欢迎正在阅读的你也加入,一起分享。

系列教程|Apache Doris ODBC 外表使用指南(一)相关推荐

  1. Apache Doris ODBC Mysql外表在centos下的使用方法及配置

    直奔主题,下文详解Apache Doris使用ODBC方式实现导入Mysql数据库的详细案例. 1.软件环境 操作系统:CentOS Linux release 7.9 Apache Doris :1 ...

  2. [1.2.0新功能系列:二] Apache Doris 1.2.0 JDBC外表 及 Mutil Catalog

    JDBC 外表 JDBC External Table Of Doris 提供了Doris通过数据库访问的标准接口(JDBC)来访问外部表,外部表省去了繁琐的数据导入工作,也省去了之前ODBC繁杂的驱 ...

  3. 20170822L08-04老男孩linux实战运维培训-Lamp系列之-Apache服务生产实战应用指南01

    apache 的编译安装 首先下载apache编译安装包 wget http://mirror.bit.edu.cn/apache/httpd/httpd-2.4.27.tar.gz 下载完成后解压缩 ...

  4. 硬刚Doris系列」Apache Doris基本使用和数据模型

    点击上方蓝色字体,选择"设为星标" 回复"面试"获取更多惊喜

  5. 最全的Apache Doris教程(收藏版)共9万+字【第一篇】由于是typora编写,有部分图片在本地,识别不出来,请细聊我

    1.Doris 简介 1.1 Doris 概述 Apache Doris 由百度大数据部研发(之前叫百度 Palo,2018 年贡献到 Apache 社区后, 更名为 Doris ),在百度内部,有超 ...

  6. java 分布式 redis缓存技术_JAVA架构师系列课程分布式缓存技术Redis权威指南,资源教程下载...

    课程名称 JAVA架构师系列课程分布式缓存技术Redis权威指南,资源教程下载 课程目标 本课程从0基础开始,对redis的方方面面进行细粒度的讲解:包括基础操作.高级命令.各种集群模式.动态增减节点 ...

  7. C#微信公众号开发系列教程二(新手接入指南)

    此系列前面已经更新了两篇博文了,都是微信开发的前期准备工作,现在切入正题,本篇讲解新手接入的步骤与方法,大神可直接跳过,也欢迎大神吐槽. 微信公众号开发系列教程一(调试环境部署) 微信公众号开发系列教 ...

  8. Apache Doris 单节点(可多节点)Docker集群制作教程

    集群制作Author:苏奕嘉 脚本研发Author:种益 调研测试Author:杨春东 前言 Apache Doris是当下非常火热和流行的MPP架构OLAP数据库,很多同学想自学/测试Doris的使 ...

  9. 博文推荐|Apache Doris 单节点 Docker 集群制作教程

    前言 Apache Doris 是当下非常流行的 MPP 架构 OLAP 数据库,很多同学想自学/测试 Doris 的使用和能力,但是又苦于没有环境或者畏惧冗长的编译+搭建过程,整个过程极大的劝退了很 ...

  10. Apache Doris 系列: 基础篇-Flink SQL写入Doris

    简介 本文介绍 Flink SQL如何流式写入 Apache Doris,分为一下几个部分: Flink Doris connector Doris FE 节点配置 Flink SQL 写 Doris ...

最新文章

  1. 不被邀请又怎样!马云都快买下中国AI芯片的半壁江山了,直怼腾讯和百度
  2. python找人脚本_Python找出微信上删除你好友的人脚本写法
  3. 《Python编程从入门到实践》学习笔记6:字典
  4. SpringBoot启动流程分析(四):IoC容器的初始化过程
  5. [css] 你有去看过或者了解过css的标准文档吗?
  6. python导入turtle报错_由于“未定义宽度错误”,我无法将turtle模块导入Python2.7.10...
  7. Javascript实现获取及设置光标位置的方法
  8. ASP.NET生成日历
  9. 对比两个文件内容差异VS Visual Studio Code
  10. Java学习笔记——StringBuffer类
  11. Ant安装与配置build.xml文件说明
  12. 博观而约取,厚积而薄发
  13. NOIP2018赛前停课集训记(10.24~11.08)
  14. 水处理相关工艺控制程序汇总(RXXW_Dor)
  15. 数学建模常见算法:拟合算法
  16. java 画笔粗细,javascript结合html5 canvas实现(可调画笔颜色/粗细/橡皮)的涂鸦板
  17. 打印字母对称型的金字塔图案(C语言)
  18. [cocos2dx开发技巧4]工具CocosBuilder的使用--复杂动画
  19. 洛谷P3799 妖梦拼木棒 题解
  20. python学习:爬取房源信息

热门文章

  1. 网络安全-MySQL数据库
  2. github 443问题
  3. k60正交解码FTM1 FTM2 困惑
  4. python创建Excel表格
  5. Scrapy Spiders
  6. 第二十五天 正则表达式
  7. 赠人玫瑰,手有余香,今日份黑科技软件五款奉上
  8. css写七步诗,《七步诗》改写550字
  9. java微信获取临时素材_java实现微信获取/下载临时素材
  10. 新唐(nuvoton)MCU软件开发指南—环境搭建设置