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

JDBC 外表

JDBC External Table Of Doris 提供了Doris通過數(shù)據(jù)庫訪問的標(biāo)準(zhǔn)接口(JDBC)來訪問外部表,外部表省去了繁瑣的數(shù)據(jù)導(dǎo)入工作存淫,也省去了之前ODBC繁雜的驅(qū)動安裝部署及版本匹配問題,兼容性更好叮盘,操作更簡單僵芹,讓Doris可以具有了訪問各式數(shù)據(jù)庫的能力,并借助Doris本身的OLAP的能力來解決外部表的數(shù)據(jù)分析問題:

支持各種數(shù)據(jù)源接入Doris

支持Doris與各種數(shù)據(jù)源中的表聯(lián)合查詢涩搓,進行更加復(fù)雜的分析操作

創(chuàng)建 JDBC Resource

Doris 目前支持的JDBC數(shù)據(jù)源有:MySQL,Oracle劈猪,PostgreSQL昧甘,SQLServer,Clickhouse

這里我們以MySQL為例來演示

CREATE EXTERNAL RESOURCE jdbc_resource
properties (
   "type"="jdbc",
   "user"="root",
   "password"="zhangfeng",
   "jdbc_url"="jdbc:mysql://192.168.31.54:3306/demo",
   "driver_url"="file:///Users/zhangfeng/.m2/repository/mysql/mysql-connector-java/8.0.29/mysql-connector-java-8.0.29.jar",
   "driver_class"="com.mysql.cj.jdbc.Driver"
);

這里 driver_url 可以使用本地路徑和http路徑兩種方式战得,

注意:

如果是本地路徑要求所有 FE 和 BE 節(jié)點都要有這個驅(qū)動 Jar 包

http 方式是 FE 和 BE 是通過 http 方式下載驅(qū)動到本地

http方式示例如下:

CREATE EXTERNAL RESOURCE jdbc_resource
properties (
   "type"="jdbc",
   "user"="root",
   "password"="zhangfeng",
   "jdbc_url"="jdbc:mysql://192.168.31.54:3306/demo",
   "driver_url"="http://192.168.31.54/8.0.29/mysql-connector-java-8.0.29.jar",
   "driver_class"="com.mysql.cj.jdbc.Driver"
);

創(chuàng)建MySQL JDBC 外表

CREATE TABLE `order_analysis` (
 `date`  varchar(20),
 `user_src` varchar(20) ,
 `order_src` varchar(11) ,
 `order_location` varchar(2),
 `new_order` int DEFAULT NULL,
 `payed_order` int DEFAULT NULL,
 `pending_order` int DEFAULT NULL,
 `cancel_order` int DEFAULT NULL,
 `reject_order` int DEFAULT NULL,
 `good_order` int DEFAULT NULL,
 `report_order` int DEFAULT NULL
) ENGINE=JDBC
PROPERTIES (
"resource" = "jdbc_resource",
"table" = "order_analysis",
"table_type"="mysql"
);

查詢外表

image.png

這里我們使用MySQL來演示充边,其他的JDBC外表使用方式一樣,具體請參靠官方文檔:https://doris.apache.org/zh-CN/docs/dev/ecosystem/external-table/jdbc-of-doris

Mutil Catalog 訪問 MySQL

多源數(shù)據(jù)目錄(Multi-Catalog)是 Doris 1.2.0 版本中推出的功能,旨在能夠更方便對接外部數(shù)據(jù)目錄浇冰,以增強Doris的數(shù)據(jù)湖分析和聯(lián)邦數(shù)據(jù)查詢能力贬媒。

在之前的 Doris 版本中,用戶數(shù)據(jù)只有兩個層級:Database 和 Table肘习。當(dāng)我們需要連接一個外部數(shù)據(jù)目錄時际乘,我們只能在Database 或 Table 層級進行對接。比如通過 create external table 的方式創(chuàng)建一個外部數(shù)據(jù)目錄中的表的映射漂佩,或通過 create external database 的方式映射一個外部數(shù)據(jù)目錄中的 Database脖含。如果外部數(shù)據(jù)目錄中的 Database 或 Table 非常多,則需要用戶手動進行一一映射投蝉,使用體驗不佳器赞。

而新的 Multi-Catalog 功能在原有的元數(shù)據(jù)層級上,新增一層Catalog墓拜,構(gòu)成 Catalog -> Database -> Table 的三層元數(shù)據(jù)層級。其中请契,Catalog 可以直接對應(yīng)到外部數(shù)據(jù)目錄咳榜。目前支持的外部數(shù)據(jù)目錄包括:

Hive MetaStore:對接一個 Hive MetaStore,從而可以直接訪問其中的 Hive爽锥、Iceberg涌韩、Hudi 等數(shù)據(jù)。

Elasticsearch:對接一個 ES 集群氯夷,并直接訪問其中的表和分片臣樱。

JDBC: 對接數(shù)據(jù)庫訪問的標(biāo)準(zhǔn)接口(JDBC)來訪問各式數(shù)據(jù)庫的數(shù)據(jù)。(目前只支持訪問MYSQL)

JDBC Mutil Catalog
下面我們以 MySQL 為例演示 Mutil Catalog 使用

用于創(chuàng)建一個名為 jdbc 的 Catalog 連接指定的 MySQL

CREATE CATALOG jdbc PROPERTIES (
   "type"="jdbc",
   "jdbc.user"="root",
   "jdbc.password"="zhangfeng",
   "jdbc.jdbc_url" = "jdbc:mysql://localhost:3306/demo",
   "jdbc.driver_url" = "file:///Users/zhangfeng/.m2/repository/mysql/mysql-connector-java/8.0.29/mysql-connector-java-8.0.29.jar",
   "jdbc.driver_class" = "com.mysql.cj.jdbc.Driver"
);

這里 jdbc.driver_url 可以使用本地路徑和http路徑兩種方式腮考,

注意:

如果是本地路徑要求所有 FE 和 BE 節(jié)點都要有這個驅(qū)動 Jar 包

http 方式是 FE 和 BE 是通過 http 方式下載驅(qū)動到本地

http方式示例如下:

CREATE CATALOG jdbc_resource properties (
   "type"="jdbc",
   "jdbc.user"="root",
   "jdbc.password"="zhangfeng",
   "jdbc.jdbc_url"="jdbc:mysql://192.168.31.54:3306/demo",
   "jdbc.driver_url"="http://192.168.31.54/8.0.29/mysql-connector-java-8.0.29.jar",
   "jdbc.driver_class"="com.mysql.cj.jdbc.Driver"
);

然后我們查看創(chuàng)建好的 Catalog 并切換到我們創(chuàng)建的 catalog下

show catalogs;
image.png

切換到我們創(chuàng)建好的 jdbc catalog

mysql> switch jdbc;
Query OK, 0 rows affected (0.00 sec)

查看 jdbc catalog 下的數(shù)據(jù)庫

 show databases;
image.png

切換數(shù)據(jù)庫

mysql> use demo;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed

查看數(shù)據(jù)庫下的表


image.png

查看表結(jié)構(gòu)

 desc order_analysis;
image.png

查詢表

select date,user_src,order_src from order_analysis limit 2;
image.png

下面你就可以通過這個雇毫,創(chuàng)建Doris的OLAP表將MySQL的表通過下面這種方式導(dǎo)入到Doris表里

insert into <doris_table> select * from <mysql_table>
你也可以很輕松的使用 JDBC Mutil Catalog方式將MySQL表和Doris表進行關(guān)聯(lián)分析,而不需要創(chuàng)建外表

我們來使用jdbc mutil catalog 外表踩蔚,使用create table as select方式創(chuàng)建一個doris olap表并將外表的數(shù)據(jù)導(dǎo)入到doris里

create table demo.order_analysis_3 
PROPERTIES("replication_num" = "1")  
as select * from jdbc.demo.order_analysis;

上面這個sql 我們是通過 jdbc mutil catalog 外表的 jdbc.demo.order_analysis;

這里以 JDBC Mutil Catalog方式演示了Mutil Catalog方式的使用棚放,其他Hive、Hudi馅闽、Iceberg及ES使用方法一樣飘蚯,具體可以參照官方文檔:https://doris.apache.org/zh-CN/docs/dev/ecosystem/external-table/multi-catalog

后面我們也將持續(xù)的將其他的DB融合到Mutil Catalog內(nèi),為用戶提供更方便福也、更快捷的使用體驗

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末局骤,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子暴凑,更是在濱河造成了極大的恐慌峦甩,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,183評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件搬设,死亡現(xiàn)場離奇詭異穴店,居然都是意外死亡撕捍,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評論 3 399
  • 文/潘曉璐 我一進店門泣洞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來忧风,“玉大人,你說我怎么就攤上這事〕凉荩” “怎么了熊经?”我有些...
    開封第一講書人閱讀 168,766評論 0 361
  • 文/不壞的土叔 我叫張陵,是天一觀的道長缘厢。 經(jīng)常有香客問我,道長甩挫,這世上最難降的妖魔是什么贴硫? 我笑而不...
    開封第一講書人閱讀 59,854評論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮伊者,結(jié)果婚禮上英遭,老公的妹妹穿的比我還像新娘。我一直安慰自己亦渗,他們只是感情好挖诸,可當(dāng)我...
    茶點故事閱讀 68,871評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著法精,像睡著了一般多律。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上搂蜓,一...
    開封第一講書人閱讀 52,457評論 1 311
  • 那天狼荞,我揣著相機與錄音,去河邊找鬼洛勉。 笑死粘秆,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的收毫。 我是一名探鬼主播攻走,決...
    沈念sama閱讀 40,999評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼此再!你這毒婦竟也來了昔搂?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,914評論 0 277
  • 序言:老撾萬榮一對情侶失蹤输拇,失蹤者是張志新(化名)和其女友劉穎摘符,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,465評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡逛裤,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,543評論 3 342
  • 正文 我和宋清朗相戀三年瘩绒,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片带族。...
    茶點故事閱讀 40,675評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡锁荔,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蝙砌,到底是詐尸還是另有隱情阳堕,我是刑警寧澤,帶...
    沈念sama閱讀 36,354評論 5 351
  • 正文 年R本政府宣布择克,位于F島的核電站恬总,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏肚邢。R本人自食惡果不足惜壹堰,卻給世界環(huán)境...
    茶點故事閱讀 42,029評論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望骡湖。 院中可真熱鬧缀旁,春花似錦、人聲如沸勺鸦。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽换途。三九已至,卻和暖如春刽射,著一層夾襖步出監(jiān)牢的瞬間军拟,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評論 1 274
  • 我被黑心中介騙來泰國打工誓禁, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留懈息,地道東北人。 一個月前我還...
    沈念sama閱讀 49,091評論 3 378
  • 正文 我出身青樓摹恰,卻偏偏與公主長得像辫继,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子俗慈,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,685評論 2 360

推薦閱讀更多精彩內(nèi)容