腾讯云数据仓库 TCHouse-D 通过外部表同步数据

Doris 可以创建通过 ODBC 协议访问的外部表。创建完成后,可通过 SELECT 语句直接查询外部表的数据,也可以通过 INSERT INTO SELECT 的方式导入外部表的数据。

相关产品
腾讯云数据仓库 TCHouse-D 产品页,含版本规格、价格与购买入口。

注意:说明:

注意:这篇档所示内容仅适用1.1及之前版本,1.2版本后不推荐使用外部表同步数据。

这篇档主要介绍如何创建通过 ODBC 协议访问的外部表,以及如何导入这些外部表的数据。目前支持的数据源包括:

·MySQL

·Oracle

·PostgreSQL

·SQLServer

·Hive(1.0版本支持)

一、创建外部表

1. 创建 ODBC Resource
ODBC Resource 的作用是用于统一管理外部表的连接信息。

CREATE EXTERNAL RESOURCE `oracle_test_odbc`PROPERTIES ( "type" = "odbc_catalog", "host" = "192.**.**.**", "port" = "8086", "user" = "oracle", "password" = "*****", "database" = "oracle", "odbc_type" = "oracle", "driver" = "Oracle");

这里我们创建了一个名为 oracle_test_odbc 的 Resource,其类型为 odbc_catalog,表示这是一个用于存储 ODBC 信息的 Resource。odbc_type 为 oracle,表示这个 ODBC Resource 是用于连接 Oracle 数据库的。

2. 创建外部表

CREATE EXTERNAL TABLE `ext_oracle_demo` ( `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" = "oracle_test_odbc", "database" = "oracle", "table" = "baseall");

这里我们创建一个 ext_oracle_demo 外部表,并引用了之前创建的 oracle_test_odbc Resource。

二、导入数据

1. 创建 Doris 表
这里我们创建一张 Doris 的表,列信息和上一步创建的外部表 ext_oracle_demo 一样:

CREATE TABLE `doris_oralce_tbl` ( `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 "")COMMENT "Doris Table"DISTRIBUTED BY HASH(k1) BUCKETS 2;PROPERTIES ( "replication_num" = "1");

2. 导入数据 (从 ext_oracle_demo表 导入到 doris_oracle_tbl 表)

INSERT INTO doris_oracle_tbl SELECT k1,k2,k3 FROM ext_oracle_demo limit 100;

INSERT 命令是同步命令,返回成功,即表示导入成功。

三、注意事项

·必须保证外部数据源与 Doris 集群是可以互通,包括BE节点和外部数据源的网络是互通的。

·ODBC 外部表本质上是通过单一 ODBC 客户端访问数据源,因此并不合适一次性导入大量的数据,建议分批多次导入。

赞 (0)
上一篇 4天前
下一篇 4天前