You need to enable JavaScript to run this app.
导航
高阶使用
最近更新时间:2023.07.21 15:19:56首次发布时间:2022.10.10 11:25:28

本文介绍 Doris 集群的相关高阶使用场景。

1 高可用设置

Doris 支持多 FE 部署,使用高可用集群时需要在创建集群时选择服务高可用。高可用集群创建时会创建 3台 Master 节点类型用来部署 Doris FE。

创建集群操作详见:创建集群

注意

生产环境推荐打开服务高可用。

2 节点扩容

E-MapReduce(EMR)为您提供便捷的扩容体验。当您需要对集群进行扩容时,在集群管理 > 集群详情 > 节点管理页面,点击节点扩容选择需要扩容的台数,确定后即可启动扩容操作。

后续您可以在集群详情 > 操作日志页面可实时查看扩容进度与扩容日志。

当扩容完成后,即可使用 MySQL Client 客户端或参考下方 Doris Web 页面中查看扩容后的 Backend 节点。

注意

扩容过程中不影响集群使用。

3 Doris Web页面使用

3.1 前置条件

  1. FE节点 绑定弹性EIP,操作详见:绑定公网IP

  2. FE节点安全组允许8030端口访问,操作详见:添加访问规则

  3. Doris Web 页面执行SQL ,支持 EMR-3.0.0 及以上版本。

3.2 进入 Doris Web 页面

在浏览器中输入以下地址, 随机跳转到 Doris 原生 WebUI 的登录页面, 输入对应的账号, 即可在Playground标签页中, 完成SQL编辑执行。

http://{{EIP}}:8030

注意

EMR 3.0.0以下版本因MySQL license原因,暂不支持通过Playgound提交Query。

4 Hudi 数据湖分析

4.1 Doris 中创建 Hudi 的外表

说明

Doris 1.2.1 版本起,已不支持创建 Hudi 外表方式查询 Hudi 表,使用 Hudi 表请使用 multi-catalog 配置 hive catalog 使用,更详细说明详见 Multi-Catalog

可以通过以下两个建表案例在 Doris 中创建 Hudi 外表。建外表时无需声明表的列定义,Doris 可以在查询时从 HiveMetaStore 中获取列信息。
创建一个单独的外表,用于挂载 Hudi 表。 具体相关语法,可以通过 CREATE TABLE 查看。

CREATE [EXTERNAL] TABLE table_name
[(column_definition1[, column_definition2, ...])]
ENGINE = HUDI
[COMMENT "comment"]
PROPERTIES (
"hudi.database" = "hudi_db_in_hive_metastore",
"hudi.table" = "hudi_table_in_hive_metastore",
"hudi.hive.metastore.uris" = "thrift://127.0.0.1:9083"
);
-- 例子:挂载 HiveMetaStore 中 hudi_db_in_hive_metastore 下的 hudi_table_in_hive_metastore,挂载时不指定schema。
CREATE TABLE `t_hudi` 
ENGINE = HUDI
PROPERTIES (
"hudi.database" = "hudi_db_in_hive_metastore",
"hudi.table" = "hudi_table_in_hive_metastore",
"hudi.hive.metastore.uris" = "thrift://127.0.0.1:9083"
);

-- 例子:挂载时指定schema
CREATE TABLE `t_hudi` (
    `id` int NOT NULL COMMENT "id number",
    `name` varchar(10) NOT NULL COMMENT "user name"
) ENGINE = HUDI
PROPERTIES (
"hudi.database" = "hudi_db_in_hive_metastore",
"hudi.table" = "hudi_table_in_hive_metastore",
"hudi.hive.metastore.uris" = "thrift://127.0.0.1:9083"
);

参数说明:

参数说明

外表列

  • 可以不指定列名,这时查询时会从 HiveMetaStore 中获取列信息,推荐这种建表方式。

  • 指定列名时指定的列名要在 Hudi 表中存在。

ENGINE需要指定为 HUDI。

PROPERTIES 属性

  • hudi.hive.metastore.uris:Hive Metastore 服务地址

  • hudi.database:挂载 Hudi 对应的数据库名

  • hudi.table:挂载 Hudi 对应的表名

4.2 展示表结构

展示表结构可以通过 SHOW CREATE TABLE 查看。

4.3 查询用法

完成在 Doris 中建立 Hudi 外表后,除了无法使用 Doris 中的数据模型(rollup、预聚合、物化视图等)外,与普通的 Doris OLAP 表并无区别

select * from t_hudi where k1 > 1000 and k3 ='term' or k4 like '%doris';

4.4 注意事项

Doris1.1.1 版本向量化引擎默认打开,而查询 HiveMetaStore 相关外表的 Operator 暂无向量化实现,因此查询 Hudi 表只支持非向量化模式,查询时需通过以下命令方式设置向量化为false。

set enable_vectorized_engine=false