我在 Crate 0.38.x 中创建了一个表,其中的列具有整数、字符串和时间戳数据类型。我想从分隔的文本文件中将数据加载到此表中。是否有实用程序进行批量导入?抱歉,我在文档或 Github 上找不到
3 回答
为了从文件进行批量导入,可以使用 COPY FROM 语句(参见https://crate.io/docs/stable/sql/reference/copy_from.html)。但仅支持 JSON 格式的文件,因此您可能需要先转换文本文件。
不确定是否有计划添加对其他格式的支持,但如果您创建一个请求该功能的 github 问题,您将在它实施后获得反馈。
还有关于如何从mysql和mongodb迁移的文档
我已经快速将数据从 MySQL 导入到 Crate 0.40,在 MySQL DB 的同一服务器上安装 Ruby on Rails,然后使用Mysql2JSON gem(参见 Mysql2xxx 部分)。
Crate 每个注册 JSON 文件需要一行。因此,您必须在 mysql2xxxX gem 源代码中编辑替换为的输出,以便在输出中具有如下格式[", ",", "]
:", "/n", "
{"id": 1, "quote": "Don't panic"}
{"id": 2, "quote": "Would it save you a lot of time if I just gave up and went mad now?"}
使用 Mysql2Json gem 导出 MySQL JSON 信息后,您必须将文件上传到 Create 服务器并放入 Crate 控制台:
COPY table_name FROM 'file:///tmp/import_data/quotes.json'
阅读: https ://crate.io/docs/crate/reference/en/latest/general/dml.html#import-and-export
只需确保您事先使用复制功能从 json 或 csv 导入数据集创建了带有模式的表。