Doris初步使用2

本文介绍了Doris的Duplicate数据模型的使用,包括如何创建表及导入数据。通过Kafka进行实时数据导入,并展示了创建Routine Load的过程。此外,还涉及了表结构变更、Rollup物化索引的添加以及Broadcast和Shuffle Join的操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


使用命令查看创建表语句:
HELP CREATE TABLE;

创建表完整语句:
    CREATE [EXTERNAL] TABLE [IF NOT EXISTS] [database.]table_name
    (column_definition1[, column_definition2, ...]
    [, index_definition1[, ndex_definition12,]])
    [ENGINE = [olap|mysql|broker]]
    [key_desc]
    [COMMENT "table comment"];
    [partition_desc]
    [distribution_desc]
    [rollup_index]
    [PROPERTIES ("key"="value", ...)]
    [BROKER PROPERTIES ("key"="value", ...)] 
 
1)创建表 在某些多维分析场景下,数据既没有主键,也没有聚合需求。因此,我们引入 Duplicate 数据模型来满足这类需求
    DUPLICATE KEY 是按字段排序:
    
CREATE TABLE IF NOT EXISTS example_db.duplicate_table
(
    aid INT NOT NULL COMMENT "文章id",
    title VARCHAR(32) COMMENT "标题",
    content VARCHAR(32) COMMENT "评论",
    uid VARCHAR(32) COMMENT "用户id",
    tid VARCHAR(32) COMMENT "文章类型"
)
DUPLICATE KEY(aid)
DISTRIBUTED BY HASH(aid) BUCKETS 5
PROPERTIES("replication_num" = "1");

----在zeppelin里面执行 :
%doris
CREATE TABLE IF NOT EXISTS example_db.duplicate_table2
(
    aid INT NOT NULL COMMENT "文章id",
    title VARCHAR(32) COMMENT "标题",
    content VARCHAR(32) COMMENT "评论",
    uid VARCHAR(32) COMMENT "用户id",
    tid VARCHAR(32) COMMENT "文章类型"
)
DUPLICATE KEY(aid)
DISTRIBUTED BY HASH(aid) BUCKETS 5
PROPERTIES("replication_num" = "1");

---创建成功之后我们可以通过mysql 客户端查看到表跟信息。目前表是空的

---我们需要导入数据,通过kafka实时导入,格式为json
---具体的细节信息通过 HELP ROUTINE LOAD;

CREATE ROUTINE LOAD example_db.duplicate_insert2 ON duplicate_table2
        COLUMNS(aid,title,content,uid,tid)
        PROPERTIES
        (
        "desired_concurrent_number"="3",
        "max_batch_interval" = "20",
        "max_batch_rows" = "300000",
        "max_batch_size" = "209715200",
        "strict_mode" = "false",
        "format" = "json"
        )
           FROM KAFKA
        (
            "kafka_broker_list" = "192.168.12.188:9092",
            "kafka_topic" = "doris_article2",
            "kafka_partitions" = "0",
            "kafka_offsets" = "OFFSET_BEGINNING"
        );

 

---执行语句,查看过程:
SHOW ROUTINE LOAD;

| 10096 | duplicate_insert | 2020-08-14 11:49:50 | N/A       | N/A     | default_cluster:example_db | duplicate_table | RUNNING | KAFKA          | 1              | {"partitions":"*","columnToColumnExpr":"ai

### Apache Doris 核心知识点 #### 1. 技术集成与定位 Apache Doris 是一种面向在线报和数据分析的数据仓库系统,主要集成了 Google Mesa 和 Apache Impala 的技术特性[^1]。它的核心优势在于支持高效的列式存储引擎以及通过 MySQL 协议现的便捷通信能力。 #### 2. 数据库连接方式 Doris 支持种客户端访问形式,包括但不限于标准的 MySQL 命令行工具、JDBC/ODBC 驱动程序以及其他可视化管理工具[^2]。此外,还提供了一个内置的 Web 控制台用于集群管理和监控作,管理员可通过 `http://fe_ip:fe_port` 访问该界面。 #### 3. 物化视图机制 物化视图是提升查询性能的重要手段之一,在 Doris 中同样得到了良好支持。用户能够定义复杂的 SELECT 查询并将结果预先计算并保存至特定结构中——即所谓的“物化视图”。此过程不仅简化了后续重复执行相同逻辑的需求,而且显著提高了响应速度[^3]。 ```sql CREATE MATERIALIZED VIEW mv_name AS SELECT column_a, SUM(column_b), COUNT(*) FROM table_name GROUP BY column_a; ``` 上述 SQL 展示如何构建一个基于 GROUP BY 子句的基础版本物化视图例。 #### 4. FE 架构设计 Frontend (FE) 组件作为整个系统的控制平面承担着元数据管理职责,并细分为 Leader、Follower 及 Observer 不同角色来增强可靠性。当发生故障切换时,剩余成员依据 Paxos 算法重新选举新领导者以维持服务连续性和一致性保障[^4]。 --- ### 典型使用场景分析 #### 场景一:时交互式 BI 分析 得益于其快速扫描能力和灵活达式的解析优化器,使得 Doris 成为了处理亚秒级延迟需求的理想平台。无论是电商网站上的商品销售趋势追踪还是社交媒体平台上热点话题挖掘均能胜任。 #### 场景二:大规模离线 ETL 后续加工环节 对于那些已经完成初步清洗转换后的海量静态文件集合来说,导入到 Doris 当中再利用强大的维过滤、排序等功能模块进一步提炼价值显得尤为重要。 #### 场景三:嵌套复杂业务规则下的精准营销推荐模型训练素材准备阶段 假设存在这样一个应用场景:需要针对不同客户群体定制个性化促销方案,则可以借助于预建好的各类维度指标体系(如年龄区间分布比例统计等),配合机器学习算法共同作用从而达到预期效果。 --- 相关问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值