首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在python中使用dsbulk加载

在python中使用dsbulk加载
EN

Stack Overflow用户
提问于 2020-08-19 04:17:46
回答 1查看 226关注 0票数 2

我在DataStax Astra中创建了一个Cassandra数据库。我可以用Python语言(使用cassandra-driver模块和secure_connect_bundle)连接到它。我在Python应用程序中编写了几个api来查询数据库。

我读到我可以使用dsbulk上传csv到它。我可以在终端中运行以下命令,并且它可以工作。

代码语言:javascript
复制
dsbulk load -url data.csv -k foo_keyspace -t foo_table \
-b "secure-connect-afterpay.zip" -u username -p password -header true

然后,我尝试使用subprocess在Python语言中运行同样的代码行

代码语言:javascript
复制
ret = subprocess.run(
    ['dsbulk', 'load', '-url', 'data.csv', '-k', 'foo_keyspace', '-t', 'foo_table', 
     '-b', 'secure-connect-afterpay.zip', '-u', 'username', '-p', 'password', 
     '-header', 'true'],
    capture_output=True
)

但我找到FileNotFoundError: [Errno 2] No such file or directory: 'dsbulk': 'dsbulk'了。如果我在Python中运行dsbulk,为什么它不被识别?

一个相关的问题是,依赖subprocess可能不是最佳实践。有没有更好的方法将批量数据上传到Cassandra?

EN

回答 1

Stack Overflow用户

发布于 2020-08-19 04:47:28

我认为这与子进程处理路径的方式有关。尝试将命令指定为绝对路径或相对路径,如"./dsbulk“或"bin/dsbulk”。

或者,如果将DS批量软件包中的bin目录添加到PATH环境变量中,它将按您的方式工作。

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

https://stackoverflow.com/questions/63476033

复制
相关文章

相似问题

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