阅读(4665)
赞(13)
Mycat2 Loaddate 注解导入CSV数据
2021-09-08 10:48:35 更新
/*+ mycat:loaddata{
"fileName":"xxx/mycat_loaddata_example",
"delimiter":",",
"schemaName":"db1",
"tableName":"travelrecord"
} */;
fileName
是mycat所在服务器的csv文件路径delimiter
是row分隔符,默认为空格schemaName
是逻辑库名tableName
是逻辑表名
CSV解析使用org.apache.commons.csv
实现,上述的delimiter
就是org.apache.commons.csv.CSVFormat
的参数
可以自行添加更多参数控制解析格式
Mycat2 会把 csv 的row
记录转换成insert
语句并以1000
行一批次依次执行,整体执行与多语句执行没有区别
如果导入的是全局表数据,可能返回的影响行数是物理表的影响行数,而不是逻辑表的
如果要求数据一致性,可以开启事务后再使用该注解,但是事务会影响并行插入的连接数,性能不如不开事务
2021-7-22号后 1.20
版本会自动开启事务并自动提交
/*+ mycat:loaddata{
"fileName":"xxxxx",
"schemaName":"db1",
"tableName":"travelrecord"
} */;
对应csv格式
1 N N N N N
2 N N N N N
3 N N N N N
/*+ mycat:loaddata{
"fileName":"xxxx",
"delimiter":",",
"schemaName":"db1",
"tableName":"travelrecord"
} */;
对应csv格式
1,N,N,N,N,N
2,N,N,N,N,N
3,N,N,N,N,N