在一些在线示例之后,我尝试了以下内容:
Configuration config = new Configuration();
config.set("fs.default.name","cfs://x.x.x.x:9000/"); // actual ip in here
config.set("fs.cfs.impl","org.apache.cassandra.hadoop.fs.CassandraFileSystem");
FileSystem fs = FileSystem.get(config);
System.out.println(fs.exists(new Path("cfs:///path/to/file")));
但我找不到包含CassandraFileSystem
的Jar。我想知道这是旧版本还是其他东西。我的类路径中有CQL驱动程序,即Gradle依赖项com.datastax.cassandra:cassandra-driver-core:2.0.1
,但类CassandraFileSystem
没有附带此工件。
在CFS中检查文件存在的成语是什么?使用Datastax Enterprise 4.0.1。
编辑:为了清楚起见,这里的问题似乎是找到班级CassandraFileSystem
。我无法在DSE jar中的任何地方找到它,尽管它的用法已记录在案。它被弃用了吗?它是否在com.datastax.cassandra:cassandra-driver-core:2.0.1
以外的其他jar中?
答案 0 :(得分:-1)
如果你有maven项目,那么将以下maven依赖项添加到pom.xml
<dependency>
<groupId>com.datastax.cassandra</groupId>
<artifactId>cassandra-driver-core</artifactId>
<version>${cassandra.driver.version}</version>
<scope>provided</scope>
</dependency>
否则将jar添加到项目类路径中。
答案 1 :(得分:-1)
CFS是DSE的一个组件,因此您需要将DSE jar文件添加到类路径中。您可以通过此命令检查文件。
bin / dse hadoop fs -lsr cfs:// localhost / path_to_file