将数据从csv文件导入Cratedb

问题描述 投票:1回答:3

我在Crate 0.38.x中创建了一个表,其中包含具有整数,字符串和时间戳数据类型的列。我想从分隔的文本文件中将数据加载到此表中。是否有实用程序进行批量导入?抱歉,我在文档或Github上找不到

csv bulk-load crate
3个回答
1
投票

为了从文件执行批量导入,可以使用COPY FROM语句(请参阅https://crate.io/docs/stable/sql/reference/copy_from.html)。但是只支持JSON格式的文件,因此您可能需要先转换文本文件。

不确定是否有任何计划添加对其他格式的支持,但如果您创建请求该功能的github问题,您将在实施后获得反馈。

还有关于如何从mysqlmongodb迁移的文档


1
投票

我已经快速将数据从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'

0
投票

阅读本文:https://crate.io/docs/crate/reference/en/latest/general/dml.html#import-and-export

只需确保您已使用复制功能从json或csv导入数据集,事先使用模式创建了表。

© www.soinside.com 2019 - 2024. All rights reserved.