codecamp

Mycat2 Loaddate 注解导入CSV数据

/*+ 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

Mycat2 制作tar安装包
Mycat2 连接测试
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }