本次分享主要介绍MatrixOne导入导出以及项目场景实践。将从四个方向为大家演示MatrixOne的功能,分别是数据的导入、导出、对接数据集成工具,以及Java连接实战。
数据导入会使用三种方式将数据导入至 MatrixOne中。分别是insert语句、load data语句还有source方式。特别注意的是load data支持从远端S3文件系统上拉取文件导入。
对于json 文件,MatrixOne 也提供了导入方式,等下我们一起来尝试下。
数据导出MatrixOne 也提供了多种方式,这里我们使用select into outfile的方式和mo_dump工具来实践一下数据的导出。
作为一款HSTAP数据库,MatrixOne从一定程度上也支持了市面上比较流行的一些数据集成工具和计算引擎。本次视频会为大家演示Datax、Flink、Spark集成MatrixOne。
最后,以一个简单SpringBoot项目,将MatrixOne作为业务数据库进行CRUD功能。
我相信,通过这四部分的实践,大家应该可以基本了解MatrixOne数据库的强大功能。
接下来我们开始进入第一部分,MatrixOne 数据导入。
Part 1 数据导入
#1 insert into方式
这里需要在MatrixOne中创建一个客户表,客户表有由四个字段组成,分别是自增主键,客户名、市、国家均为Varchar类型。我们先指定列导入,然后使用批量insert方式进行导入。最后我们在创建一个客户表的备份表,采用insert into select 方式,将客户表的数据备份至客户备份表。
#2 load data方式
▶ 2.1 导入csv文件
下面我们来实践一下load data功能。先将本地已经提前准备好的customer.csv文件导入。
先看一下这个csv文件,有3行测试数据,起始行就是数据,无需去除表头,列分割符是英文逗号,行分隔符是换行符。
然后执行load data命令进行数据导入,需要注意地方就是文件的路径,如果不太确定的话就写绝对路径。
注意:如果你的数据文件与 MatrixOne 服务器在不同的机器上,即数据文件在你所使用的客户端机器上时,那么你连接 MatrixOne 服务主机需要使用Mysql Client命令需要增加一个 --local-infile 参数;并且导入的命令行需要使用 load data local infile 语法。
除此之外MatrixOne 支持使用 load data 命令从 S3 对象存储服务批量导入 csv 文件、jsonline 文件。
我这里做了一个从阿里OSS文件系统中导入csv文件至MatrixOne的测试,由于时间问题我就不在演示了,我们一起看一下语法和效果。
首先需要我们提前在OSS中创建一个桶,然后获取一下授权所需的Ak和sk以及region。
在load data 中我们依次配置OSS endpoint,ak,sk,桶名称,region,压缩格式,文件路径,别的方式和本地导入一致。
▶ 2.2 导入json文件
演示了导入csv文件,我们一起来试下导入json文件。
首先我们创建一个新表用于接收导入数据。创建一个json_line_obj.jl文件新增几条json测试数据。
然后使用使用load data命令进行导入,需要注意的是这个json文件里面的全部是object,非数组结构,字段名称和类型需要和MatrixOne表中的字段名称类型对应。
然后我们在创建一个新表t2,用来测试导入json数组的情况。
这里我们提前准备三个文件,第一个是普通的json.jl文件,第二个是一个压缩格式为bz2压缩包,解压以后可以看到里面就是一个jl文件,第三个是一个压缩格式为gz的。
我们依次执行三条导入命令,其中jsondata字段用于标识json结构,与之前区别就是这里不再是object而是填写array。
第二条命令需要注意配置压缩格式。
第三条命令再导入的时候忽略了第一行进行导入,我们执行后看下效果。
可以看到这里导入的时候没有第一行数据。
#3 source命令
最后我们采用source命令将提前准备好的sql文件导入MatrixOne。
如果数据量比较大的话,可以采用nohup配合 Mysql 客户端 -e 参数进行后台导入。
接下来给大家分享一下MatrixOne的数据导出。
首先采用select

本文详细介绍了MatrixOne数据库的导入导出方法,包括insert、loaddata、json导入、selectintooutfile和mo-dump工具,以及与Datax、Flink、Spark和SpringBoot的集成示例。文章强调了MatrixOne在数据迁移、多模计算和云原生架构的优势。
最低0.47元/天 解锁文章
1697

被折叠的 条评论
为什么被折叠?



