doris 初识

doris 初识资料1. [编译好的可以直接安装的包](https://www.dorisdb.com/zh-CN/download/community),[安装部署](http://doc.dorisdb.com/)2. [各大厂商实践和应

大家好,欢迎来到IT知识分享网。

资料

  • 1. [编译好的可以直接安装的包](https://www.dorisdb.com/zh-CN/download/community),[安装部署](http://doc.dorisdb.com/)
  • 2. [各大厂商实践和应用](https://www.dorisdb.com/zh-CN/blog),看看doris都被应用在什么场景里的。
  • 3. [与clickHouse的性能对比](https://www.dorisdb.com/zh-CN/blog/report/p/1)
  • 4. [Apache doris 文档](http://doris.incubator.apache.org/master/zh-CN/installing/compilation.html)
  • 5. [DorisDB 文档](http://doc.dorisdb.com/),更全面,更详细一些。
  • 安装部署

    测试环境可以准备三台机器,安装1个fe,3个be。两种方式手动编译指定版本的doris,也可以下载编译好的包,要求不高只是测试用一用可以用资料中的1。

    如果机器上有docker ip,be和fe都需要增加priority_networks参数。

    三种表和场景

    每种表有各自适用的场景,而且建表的字段顺序也有讲究,例如排序列必须在指标里前面,因此我们需要根据表的查询需求来确定表结构。不适合通过一个模型设计解决所有场景的大一统思想。

    日志表

    CREATE TABLE IF NOT EXISTS table_log (

    event_time DATETIME NOT NULL COMMENT “datetime of event”,

    event_type INT NOT NULL COMMENT “type of event”,

    user_id INT COMMENT “id of user”,

    device_code INT COMMENT “device of “,

    channel INT COMMENT “”

    )

    DUPLICATE KEY(event_time, event_type,user_id)

    DISTRIBUTED BY HASH(user_id) BUCKETS 3

    使用场景和特点:

    1. 保留原始数据,数据不更新,日志数据,时序数据

    2. 传统的规则比较过滤,不适合聚合

    聚合表

    CREATE TABLE IF NOT EXISTS table_agg (

    site_id LARGEINT NOT NULL COMMENT “id of site”,

    date DATE NOT NULL COMMENT “time of event”,

    city_code VARCHAR(20) COMMENT “city_code of user”,

    pv BIGINT SUM DEFAULT “0” COMMENT “total page views”

    )

    AGGREGATE KEY(`site_id`, `date`, `city_code`)

    DISTRIBUTED BY HASH(site_id) BUCKETS 8;

    使用场景和特点:

    1. 汇总类业务,例如sum、count、max,例如流量分析pv uv、电商中按消费者或者商品的小时、天、星期、月统计。

    2. 更新不频繁

    主键表

    主键表是聚合表的一个特例,除了主键列外,其他字段全是replace聚合。

    CREATE TABLE IF NOT EXISTS table_uniq (

    create_time DATE NOT NULL COMMENT “create time of an order”,

    order_id BIGINT NOT NULL COMMENT “id of an order”,

    order_state INT COMMENT “state of an order”,

    total_price BIGINT COMMENT “price of an order”

    )

    UNIQUE KEY(create_time, order_id)

    DISTRIBUTED BY HASH(order_id) BUCKETS 8

    使用场景和特点:

    1. 大量更新,例如电商中的订单表

    2. 需要进行实时分析

    Doris外部表和场景

    1. doris on mysql,可以使用insert select语句来做历史数据导数。

    2. doris on es,规则过滤,表join,count会比纯doris表快很多。

    3. doris on hdsf hive,常用于导数。

    数据导入

    只说几种常用的方式:

    1. stream Load,一般线上使用这种方式导入增量数据,如果实时性要求高,建议分钟级一个批次,尽量每个批次数据量大些。

    2. insert select,外部表导入,常用于历史数据。

    3. insert 单条,测试使用。

    4. Routine load,启动常驻进程,消费kafka数据落库,不建议线上使用,不好维护,不好做异常处理。

    免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/87038.html

    (0)

    相关推荐

    发表回复

    您的电子邮箱地址不会被公开。 必填项已用 * 标注

    关注微信