使用Python将.csv文件加载到Apache Cassandra中时出现问题



我正试图用Python将.csv文件加载到Apache Cassandra数据库中。命令";COPY";与session.execute集成似乎不起作用。它给出了一个意外的缩进,对应=",",但是。。。我红了一些关于的东西,发现不支持以这种方式使用命令COPY。

在这个脚本中,time_test和p是两个浮点变量

from cassandra.cluster import Cluster
cluster = Cluster()
session = cluster.connect('myKEYSPACE')

rows = session.execute('COPY table_test (time_test, p) 
from'/home/mypc/Desktop/testfile.csv' with delimiter=',' and header=true;
')

print('DONE')

谢谢你的帮助!

这里的主要问题是COPY不是CQL命令,而是cqlsh命令,因此无法通过session.execute执行。

我建议使用DSBulk将数据加载到Cassandra中——它非常灵活、高性能,而且不需要编程。对于最简单的情况,当您将CSV文件头中的列直接映射到数据库中的列名时,命令行将非常简单:

dsbulk load -url file.csv -k keyspace -t table -header true

有一系列关于DSBulk的博客文章,涵盖了很多主题:

  • https://www.datastax.com/blog/2019/03/datastax-bulk-loader-introduction-and-loading
  • https://www.datastax.com/blog/2019/04/datastax-bulk-loader-more-loading
  • https://www.datastax.com/blog/2019/04/datastax-bulk-loader-common-settings
  • https://www.datastax.com/blog/2019/06/datastax-bulk-loader-unloading
  • https://www.datastax.com/blog/2019/07/datastax-bulk-loader-counting
  • https://www.datastax.com/blog/2019/12/datastax-bulk-loader-examples-loading-other-locations

相关内容

  • 没有找到相关文章

最新更新