首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将大CSV文件导入Tarantool

将大CSV文件导入Tarantool
EN

Stack Overflow用户
提问于 2020-07-20 23:30:28
回答 1查看 235关注 0票数 1

我正在寻找一种方法来插入大的CSV (百万行和20-30个字段)到tarantool数据库以最快的方式,最好是通过一个连接器(python或c#),并访问空间,稍后在应用程序中使用python/c#。

我是第一次接触tarantool,当我查看tarantool的文档时,我在这里找到了CSV内置模块https://www.tarantool.io/en/doc/2.5/reference/reference_lua/csv/,但这实际上并没有在tarantool中创建一个空间。

然后我尝试创建空间,然后通过python应用程序解析csv文件并将每条记录插入到空间中,如下所示

代码语言:javascript
复制
tester = connection.space('tester')
tester.insert((<data>))

但这并不是很好的性能智慧,它非常慢。将CSV输入导入到性能更好的tarantool中的最佳方式是什么?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2020-07-23 13:55:38

Tarantool csv内置模块仅用于读取csv。是的,如果你想创造空间,你应该用手来做。

我建议你尝试使用批量插入:

代码语言:javascript
复制
-- You need to create stored lua procedure
-- And of course it's only a draft of such function
function batch_insert(list)
    box.begin()
        for _, record in ipairs(list) do
            space:replace(record)
        end
    box.commit()
end

然后就可以从python客户端调用这个过程了。

代码语言:javascript
复制
connection.call('batch_insert', several_csv_rows)

阅读tarantool文档中有关Tarantool存储过程的更多信息(例如https://www.tarantool.io/en/doc/1.10/getting_started/getting_started_connectors/#executing-stored-procedures)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62998846

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档