你好,我正在尝试加载到cassandra在docker。很遗憾,我去不了。我很确定路径是正确的,因为我直接从属性部分复制和粘贴。我可以知道有其他解决方法吗?
注。我用的是Windows 11,最新的Cassandra 4.1
cqlsh:cds502_project> COPY data (id)
... FROM 'D:USMData ScienceCDS 502 Big data storage and managementAssignmentProjectforest area by state.csv'
... WITH HEADER = TRUE;
Using 7 child processes
Starting copy of cds502_project.data with columns [id].
Failed to import 0 rows: OSError - Can't open 'D:\USM\Data Science\CDS 502 Big data storage and management\Assignment\Project\forest area by state.csv' for reading: no matching file found, given up after 1 attempts
Processed: 0 rows; Rate: 0 rows/s; Avg. rate: 0 rows/s
0 rows imported from 0 files in 0.246 seconds (0 skipped).
上面的是我的代码和结果。我已经尝试过https://www.geeksforgeeks.org/export-and-import-data-in-cassandra/,当我在docker内创建数据,导出并重新导入它时,它可以工作,但当我使用外部数据时不工作。
我还注意到我在docker中使用cassandra导出的csv文件在我的笔记本电脑中丢失了,但可以通过docker访问。
您正在观察的行为是期望从docker。我所知道的是,在Kubernetes中有cp命令,它将数据从外部复制到内部容器,反之亦然。你可以检查这些命令来从docker内部或外部获取数据,或者你可以使用docker镜像将csv文件推送到docker中。
您需要利用Docker绑定挂载卷以便访问容器中的本地文件。docker run -it -v <path> ...
参见下面的参考:
- https://www.digitalocean.com/community/tutorials/how-to-share-data-between-the-docker-container-and-the-host
- https://www.docker.com/blog/file-sharing-with-docker-desktop/