
# Doris数据导入规范
该章节主要介绍Doris数据导入规范。
#### Doris数据导入建议
- 禁止使用**INSERT INTO** *tbl1* **VALUES ("1"), ("a");**方式导入数据，少量少次写可以，多量多频次时需使用Doris提供的StreamLoad、BrokerLoad或者Flink Connector方式。
- 在Flink实时写入数据到Doris的场景下，CheckPoint设置的时间需要考虑每批次数据量，如果每批次数据太小会造成大量小文件，推荐值为60秒。
- 建议不使用**insert values**作为数据写入的主要方式，批量数据导入推荐使用StreamLoad或BrokerLoad。
- 使用**INSERT INTO WITH LABEL** *XXX* **SELECT** 方式进行数据导入，如果有下游依赖或查询，需要先查看导入的数据是否为可见状态。
  具体查看方法：通过**show load where label='** *xxx* **'** SQL命令查询当前INSERT任务状态（status）是否为"VISIBLE"，如果为"VISIBLE"导入的数据才可见。
  
- Streamload适合导入10 GB以内的数据、Brokerload适合导入百GB以内数据。
- 不建议使用Routine Load进行导入数据操作，推荐使用Flink查询Kafka数据再写入Doris，更容易控制导入数据单批次数据量，避免大量小文件产生。如果确实已经使用了Routine Load导入了数据，在没整改前请配置FE的"max_tolerable_backend_down_num"参数值为"1"，以提升导入数据可靠性。
- 建议低频攒批导入数据，平均单表导入批次间隔需大于30秒，推荐间隔60秒，一次导入1000\~100000行数据。
 
