我在Crate 0.38.x中创建了一个表,其中包含具有整数,字符串和时间戳数据类型的列。我想从分隔的文本文件中将数据加载到此表中。是否有实用程序进行批量导入?抱歉,我在文档或Github上找不到
为了从文件执行批量导入,可以使用COPY FROM语句(请参阅https://crate.io/docs/stable/sql/reference/copy_from.html)。但是只支持JSON格式的文件,因此您可能需要先转换文本文件。
不确定是否有任何计划添加对其他格式的支持,但如果您创建请求该功能的github问题,您将在实施后获得反馈。
我已经快速将数据从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导入数据集,事先使用模式创建了表。