__DORIS_SEQUENCE_COL__实现,该列的类型由用户在建表时指定,在导入时确定该列具体值,并依据该值对 REPLACE 列进行替换。__DORIS_SEQUENCE_COL__。order by 表达式的值(Broker load 和 Routine load),或者function_column.sequence_col表达式的值(stream load), Value 列将按照该值进行替换。隐藏列__DORIS_SEQUENCE_COL__的值既可以设置为数据源中一列,也可以是表结构中的一列。__DORIS_SEQUENCE_COL__列,该列用于在相同 Key 列下,REPLACE 聚合函数替换顺序的依据,较大值可以替换较小值,反之则不能替换。__DORIS_SEQUENCE_COL__的类型
导入的语法设计方面主要是增加一个从 sequence 列到其他 column 的映射,各个导入方式设置的将在下面介绍。PROPERTIES ("function_column.sequence_type" = 'Date',);
function_column.sequence_col字段添加隐藏列对应的 source_sequence 的映射, 示例:curl --location-trusted -u root -H "columns: k1,k2,source_sequence,v1,v2" -H "function_column.sequence_col: source_sequence" -T testData http://host:port/api/testDb/testTbl/_stream_load
ORDER BY 处设置隐藏列映射的 source_sequence 字段。LOAD LABEL db1.label1(DATA INFILE("hdfs://host:port/user/data/*/test.txt")INTO TABLE `tbl1`COLUMNS TERMINATED BY ","(k1,k2,source_sequence,v1,v2)ORDER BY source_sequence)WITH BROKER 'broker'("username"="user","password"="pass")PROPERTIES("timeout" = "3600");
CREATE ROUTINE LOAD example_db.test1 ON example_tbl[WITH MERGE|APPEND|DELETE]COLUMNS(k1, k2, source_sequence, v1, v2),WHERE k1 > 100 and k2 like "%doris%"[ORDER BY source_sequence]PROPERTIES("desired_concurrent_number"="3","max_batch_interval" = "20","max_batch_rows" = "300000","max_batch_size" = "209715200","strict_mode" = "false")FROM KAFKA("kafka_broker_lsequence_typeist" = "broker1:9092,broker2:9092,broker3:9092","kafka_topic" = "my_topic","kafka_partitions" = "0,1,2,3","kafka_offsets" = "101,0,0,200");
function_column.sequence_type ,则新建表将支持 sequence column。
对于一个不支持 sequence column 的表,如果想要使用该功能,可以使用如下语句来启用。ALTER TABLE example_db.my_table ENABLE FEATURE "SEQUENCE_LOAD" WITH PROPERTIES ("function_column.sequence_type" = "Date")
SET show_hidden_columns=true ,之后使用desc tablename,如果输出中有__DORIS_SEQUENCE_COL__ 列则支持,如果没有则不支持。MySQL > desc test_table;+-------------+--------------+------+-------+---------+---------+| Field | Type | Null | Key | Default | Extra |+-------------+--------------+------+-------+---------+---------+| user_id | BIGINT | No | true | NULL | || date | DATE | No | true | NULL | || group_id | BIGINT | No | true | NULL | || modify_date | DATE | No | false | NULL | REPLACE || keyword | VARCHAR(128) | No | false | NULL | REPLACE |+-------------+--------------+------+-------+---------+---------+
1 2020-02-22 1 2020-02-22 a1 2020-02-22 1 2020-02-22 b1 2020-02-22 1 2020-03-05 c1 2020-02-22 1 2020-02-26 d1 2020-02-22 1 2020-02-22 e1 2020-02-22 1 2020-02-22 b
curl --location-trusted -u root: -H "function_column.sequence_col: modify_date" -T testData http://host:port/api/test/test_table/_stream_load
MySQL > select * from test_table;+---------+------------+----------+-------------+---------+| user_id | date | group_id | modify_date | keyword |+---------+------------+----------+-------------+---------+| 1 | 2020-02-22 | 1 | 2020-03-05 | c |+---------+------------+----------+-------------+---------+
1 2020-02-22 1 2020-02-22 a1 2020-02-22 1 2020-02-23 b
MySQL [test]> select * from test_table;+---------+------------+----------+-------------+---------+| user_id | date | group_id | modify_date | keyword |+---------+------------+----------+-------------+---------+| 1 | 2020-02-22 | 1 | 2020-03-05 | c |+---------+------------+----------+-------------+---------+
1 2020-02-22 1 2020-02-22 a1 2020-02-22 1 2020-03-23 w
MySQL [test]> select * from test_table;+---------+------------+----------+-------------+---------+| user_id | date | group_id | modify_date | keyword |+---------+------------+----------+-------------+---------+| 1 | 2020-02-22 | 1 | 2020-03-23 | w |+---------+------------+----------+-------------+---------+
文档反馈