本文内容来自YashanDB官网,原文内容请见https://www.yashandb.com/newsinfo/7253739.html?templateId=171...

本方案采用csv文件格式进行数据的导出和导入。具体步骤如下:
通过sql语句将Doris表导出成csv文件
注:导出到本地文件时需要先在fe.conf中配置enable_outfile_to_local=true并重启fe节点

-- Doris默认查询超时时长为3600秒,此处改大,防止查询时间不够

set query_timeout = 36000;

 -- 设置支持并发导出 

set enable_parallel_outfile = true;

-- 导出条数默认限制为200条,需要改大 

-- 因为崖山和Doris对null值处理的不同(Doris的null值导出为\N),Date和数字类型为null时需要转换(Date类型为null时需要转成空串,数字类型为null时需要转成0) 

select nvl(user_id, 0), nvl(dt, ‘’), city, nvl(age, 0), nvl(sex, 0), nvl(last_visit_date, ‘’), nvl(cost, 0), nvl(max_dwell_time, 0), nvl(min_dwell_time, 0)

select nvl(user_id, 0), nvl(dt, ‘’), city, nvl(age, 0), nvl(sex, 0), nvl(last_visit_date, ‘’), nvl(cost, 0), nvl(max_dwell_time, 0), nvl(min_dwell_time, 0) from example_db.example_tbl_agg1 LIMIT 1000000000

INTO OUTFILE "file:///data/example_tbl_agg1/result_"

FORMAT AS CSV

PROPERTIES

(

"column_separator" = "|", -- 列分隔符改成|,防止数据中也存在默认的分隔符逗号

"line_delimiter" = "\n"

);

在崖山分布式上创建表

CREATE TABLE IF NOT EXISTS example_db.example_tbl_agg1

(

user_id BIGINT NOT NULL,

dt DATE NOT NULL,

city VARCHAR(20),

age SMALLINT,

sex TINYINT,

last_visit_date DATE,

cost BIGINT,

max_dwell_time INT,

min_dwell_time INT

) order by(user_id) partition by hash(user_id) partitions auto;

通过yasldr将Doris导出的csv文件导入到崖山分布式

yasldr example_db/example_db@127.0.0.1:1688 batch_size=4032 senders=9 control_text="'LOAD DATA OPTIONS(DEGREE_OF_PARALLELISM=16,ENABLE_BULK=TRUE) INFILE '/data/example_tbl_agg1/result_2ec7ec4eeae74a66-a094b4f43cd3a482_0.csv' WITH EMBEDDED FIELDS TERMINATED BY '|' INTO TABLE EXAMPLE_DB.EXAMPLE_TBL_AGG1(USER_ID,DT,CITY,AGE,SEX,LAST_VISIT_DATE,COST,MAX_DWELL_TIME,MIN_DWELL_TIME)'"

YashanDB
1 声望0 粉丝

崖山数据库系统YashanDB是深圳计算科学研究院自主设计研发的新型数据库管理系统,融入原创的有界计算、近似计算、并行可扩展和跨模融合计算理论,可满足金融、政企、能源等关键行业对高性能、高并发及高安全性的...