从Java代码检查CFS中是否存在某个文件

时间:2014-06-09 16:11:15

标签: java cassandra datastax-enterprise

在一些在线示例之后,我尝试了以下内容:

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中?

2 个答案:

答案 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