【doris】doris测试表

-- mysql
drop table if exists student;
-- 学生表
CREATE TABLE student(
s_id bigint comment '主键',
s_name VARCHAR(20) NOT NULL DEFAULT '' comment '姓名',
s_age int DEFAULT 0 comment '年龄',
s_sex VARCHAR(10) DEFAULT 'unknow' comment '性别',
s_part  varchar(10) NOT NULL comment '分区字段',
ts datetimev2 NOT NULL comment '创建时间'
)
UNIQUE KEY(s_id)
DISTRIBUTED BY HASH(s_id)
PROPERTIES(
'replication_num'='1'
);

truncate table student;

insert into student values
(1,'zhangsan',20,'male','2020/04/30',timestamp '2024-12-01 18:01:01.666'),
(2,'lisi',44,'male','2020/04/30',timestamp '2024-06-01 18:01:01.666'),
(3,'wangwu',88,'male','2020/04/30',timestamp '2024-12-01 18:01:01.666'),
(4,'zhaoliu',31,'male','2020/04/30',timestamp '2024-12-01 22:33:01.666'),
(5,'maba',33,'male','2020/04/30',timestamp '2024-12-01 18:01:01.666');
### 如何通过 PostgreSQL 访问 Doris 表的配置方法和使用指南 要实现从 PostgreSQL 数据库访问 Apache Doris 表的功能,通常需要借助外部工具或中间件来完成数据交互。以下是对该问题的详细解答: #### 1. 使用 ODBC 配置 PostgreSQL 连接 Doris Apache Doris 提供了对 ODBC 的支持,可以通过配置 ODBC 来实现 PostgreSQL 对 Doris 表的访问。具体步骤如下: - **安装 ODBC 驱动**:首先需要确保在 PostgreSQL 所在服务器上已经安装了支持 Doris 的 ODBC 驱动程序。可以参考 `odbcinst.ini` 文件的配置[^4]。 ```ini [Doris] Description = ODBC for Doris Driver = /usr/local/lib/dorisodbc.so Driver64 = /usr/local/lib/dorisodbc.so Setup = /usr/lib/libodbc.so Setup64 = /usr/lib/libodbc.so FileUsage = 1 ``` - **配置数据源**:编辑 `/etc/odbc.ini` 文件,添加 Doris 的数据源配置。 ```ini [DorisDSN] Description = Doris Data Source Driver = Doris ServerName = 192.168.0.1 Port = 9030 Database = test ``` - **测试连接**:使用 `isql` 工具测试 ODBC 配置是否成功。 ```bash isql -v DorisDSN username password ``` #### 2. 在 PostgreSQL 中创建外部表 PostgreSQL 支持通过 `Foreign Data Wrapper (FDW)` 创建外部表来访问其他数据库系统。以下是具体步骤: - **安装 Doris FDW**:需要一个支持 Doris 的 FDW 扩展。如果官方未提供,可以尝试自定义开发或寻找社区解决方案。 - **创建服务器对象**:在 PostgreSQL 中创建一个服务器对象以指向 Doris 数据库。 ```sql CREATE SERVER doris_server FOREIGN DATA WRAPPER fdw_name OPTIONS ( host '192.168.0.1', port '9030', dbname 'test' ); ``` - **映射用户**:将 PostgreSQL 用户映射到 Doris 用户。 ```sql CREATE USER MAPPING FOR postgres SERVER doris_server OPTIONS (user 'doris_user', password 'doris_password'); ``` - **创建外部表**:在 PostgreSQL 中创建Doris 表对应的外部表。 ```sql CREATE FOREIGN TABLE doris_table ( k1 decimal(9, 3), k2 char(10), k3 timestamp, k5 varchar(20), k6 double precision ) SERVER doris_server OPTIONS (table_name 'doris_table'); ``` #### 3. 注意事项 - 确保 Doris 和 PostgreSQL 之间的网络连通性良好,并开放必要的端口[^1]。 - 如果 Doris 表的 ENGINE 类型为非 `OLAP` 类型(如 `ODBC` 或 `BROKER`),则需要注意其对外部数据源的依赖关系[^2]。 - 在复杂查询场景下,可以考虑使用 Bucket Shuffle Join 优化性能[^3]。 ```python # 示例代码:验证 PostgreSQL 外部表查询 import psycopg2 conn = psycopg2.connect( dbname="postgres", user="postgres", password="password", host="localhost", port="5432" ) cur = conn.cursor() cur.execute("SELECT * FROM doris_table LIMIT 10;") rows = cur.fetchall() for row in rows: print(row) cur.close() conn.close() ``` ####
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值