doris 数据一行拆成多行
时间: 2023-09-03 13:09:55 浏览: 442
可以使用Doris中的函数concat_ws()将一行数据拆成多行。具体的操作步骤如下:
1. 使用split()函数将一行数据中的多个字段拆分成数组。
2. 使用concat_ws()函数将数组中的每个元素连接成多行数据。
3. 将多行数据写入到一个新的Doris表中。
以下是一个使用concat_ws()函数将一行数据拆成多行的示例:
```
-- 创建一个测试表
create table test_table(
id int,
name string,
age int
) stored as parquet;
-- 插入一行数据
insert into test_table values(1, 'Tom', 20);
-- 查询表中的数据
select * from test_table;
-- 使用concat_ws()函数将一行数据拆成多行
select id, concat_ws('\n', name, cast(age as string)) as multi_line_data from (
select id, split(concat_ws(',', name, cast(age as string)), ',') as data_array from test_table
) t lateral view explode(data_array) data as value;
-- 将多行数据写入到一个新的Doris表中
create table multi_line_table(
id int,
multi_line_data string
) stored as parquet;
insert into multi_line_table select id, concat_ws('\n', name, cast(age as string)) as multi_line_data from (
select id, split(concat_ws(',', name, cast(age as string)), ',') as data_array from test_table
) t lateral view explode(data_array) data as value;
```
阅读全文