00:00
Odbc外表的方式呢啊,可以说就是一种映射关系啊,比如说我原先数据在my circleq里边,现在呢,我不通过用任何工具将数据导入到Doris,那我直接可以怎么办呢?我可以直接在Doris通过odbc的方式。映射一张MYSQL的表。啊,这是一个映射关系啊,就跟外表一样,所以我们称它为外部表映射。那这个时候呢,数据其实还是在MYSQL里面的啊,那我可以在Doris里面映射表,我对。比如说MYSQ叫A啊,那do里面映射表叫A1,好吧,那我对ae进行操作,其实相当于就是在对MYSQL进行操作啊,就实现这种方式,我不用挪动数据。那这样呢,就特别方便了啊,这个时候Doris起到的是一个中间桥梁的作用啊,它就是一个影子啊,那我们看一下吧,呃,Odbc呢是本身数据库的一个标准接口,Doris呢现在支持这个功能。
01:10
可以让我们不用数据导入,直接访问数据库啊,这就是最终的目的。而且呢,它支持各种数据源啊,基本上就是像my circle啊,呃,Oracle啊,PG啊,就post grass,还有像其实像circle server。都能够实现,只要他们支持odbc的方式,理论上都都能实现的,那至少说咱们目前啊,给大家演示一下mysle还有Oracle的使用方式啊。而且Doris支持与各种数据原装的表联合查询,进行更加复杂。对吧,它也可以进行一个复杂的联合查询,这是没问题的,而且呢,Doris作为中间的一个拉皮条的,我们可以通过insert into的方式将它写入外部的数据源。
02:01
对吧,我映射了啊,比如说这MYSL,这Doris啊,真实的表在这啊,它只是一张影子表映射表,你既可以直接查他,你也可以是呃,往这张映射表去插入它,这个数据也会直接进入到呃数据源中的这张表里面。好,那了解完之后,我们再了解一下它的一个基本使用方式。那这个是Oracle的一个外表的语法,第一种方式呢,是直接创建外表,那它的建表语句呢,就在这啊,建表的时候加一个external。关键字,那其他都一样啊,定义一个字段呢,还有字段类型啊,还有一个地方要指定引擎,必须要指定为odbc。那下面呢,还要指定一堆的配置参数,那就是你要映射的这个数据库的,呃,主机,呃,它对应的端口啊,它对应的用户名,密码,数据库,还有表啊,这些都是外部数据库的一些信息啊,还有它对应的一个driver,这个是要注意的,回头配置再给大家讲啊,那o dbc的类型,你可以写Oracle my circle对吧。
03:13
就是这么简单直接创建,但是这样可以是可以,但我们比较推荐方式二啊,方式二它是先创建一个叫resource的东西。啊,叫resource。你看语法呢,External resource,然后不定义字段,这边仅仅定义一些properties,那这些就是啊,我们要映射的那个数据库的基本配置信息,像主机。呃,类型主机,呃,端口用户密码库表啊,还有它的驱动指定这些就行,那我怎么来产生映射表呢?啊,我基于resource再去创建一张Doris的映射表就可以了,外部表。那这样做的好处是什么?我基于这个,呃,Resource,我是不是可以创建多张Doris的外部表啊,那这样就是可以复用对吧,所以这种方式是更加好的啊,资源的方式将外部的一个关系维护起来。
04:13
那回头你建表直接指指向这个资源就可以了啊,那么看一下创建完resource之后啊,我们再建表,那也是一个external table啊,然后定义字段,定义类型引擎呢,还是odbc。这个时候我们在这里呢,就简单了,在属性里面要指定一个叫resource的。啊,Odbc的resource指向我们刚才创建的resource,那这些参数你就不用去重复写了啊。那对应的,呃,咱们去指定一个什么呢?具体的库,具体的表。那这种方式是不是优势就体现出来,这是一个resource,那我建的第一张外表,那我还要再建or比如说这个是my circle。啊,我对里面其中表一做了一张那个外部表啊,Odbc外表,那现在我我想对my circle的另外一张表。
05:06
也创建一个外表,那你直接还是基于这个resource啊,再创建就行了,那这种使用方式就比较好了,对吧。那下面是一些参数说明对吧,就这几个嘛,啊主机驱动类型,用户密码啊就OK了。另外这个odbc怎么装啊,基本上各大主流数据库都会提供odbc对应的一个驱动。呃。我们可以去参照啊,去安装就行了,它的依赖库。安装完之后,只需要我们修改一些配置,并且呢,在Doris的be里面啊增加一些。对应的驱动配置就可以了。那下面呢,后面我们会通过实际的案例啊,来给大家操作一遍。另外有一些注意事项啊呃,就是be,所有的be节点都要安装上相同的这个驱动。
06:04
你不能说你有三个B,然后你只装其中一台啊,这样是会有问题的,对吧。因为Doris毕竟还是一个分布式的啊,那而且呢,你里面的回头要指定一些配置,比如说这有个路径啊,要完全一致啊。好,后面我们通过实际案例啊来看。
我来说两句