【问题标题】:Check if a certain file exists in CFS from Java code从 Java 代码检查 CFS 中是否存在某个文件
【发布时间】:2014-07-30 05:30:46
【问题描述】:

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

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,它在其他罐子里吗?

【问题讨论】:

  • 类路径中有 Datastax Enterprise 4.0.1 jar 吗?
  • 我有 'com.datastax.cassandra:cassandra-driver-core:2.0.1' 但显然不是这样。它是在 maven 中还是我必须从我的一个节点中复制它?
  • 如果你有 maven 项目然后添加以下 maven 依赖到 pom.xml com.datastax.cassandracassandra-driver-core${cassandra.driver.version} 提供
  • 我只是说我的项目中有那个工件,我需要的类不在那个工件中。

标签: java cassandra datastax-enterprise


【解决方案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添加到项目类路径中。

【讨论】:

  • 是的,CassandraFileSystem 不存在。
  • 然后按照我上面的解释进行操作。
  • 你不明白我在说什么:CassandraFileSystem 类不是在那个工件中。
  • 嗯,到底是什么?我仍然无法在任何地方找到课程CassandraFileSystem!
【解决方案2】:

CFS 是 DSE 的一个组件,因此您需要将 DSE jar 文件添加到您的类路径中。您可以通过此命令检查文件。

bin/dse hadoop fs -lsr cfs://localhost/path_to_file

【讨论】:

  • 问题是如何从 Java 代码中做到这一点。我知道 DSE 是如何工作的,我们已经在 prod 中使用它一段时间了。我找到了 Java 代码 的示例,但找不到这些示例中使用的类。我能说清楚一点吗?
  • 您需要将 dse.xxxx.jar 和相关的 jar 文件添加到您的类路径中。 CFS 在 DSE jar 中,因此您可能还需要添加 DSE jar 依赖项(在资源/xxxx/lib 中),但这些依赖项可能会与您的应用程序库发生冲突。我们可能会尝试将 CFS 分离为一个独立的项目,以便将其插入其他应用程序中。现在,您需要尝试使用类路径中的所有这些 jar 文件进行测试。
猜你喜欢
  • 2017-05-06
  • 2016-03-19
  • 1970-01-01
  • 2010-11-17
  • 2018-10-31
  • 1970-01-01
  • 1970-01-01
  • 2010-10-09
  • 1970-01-01
相关资源
最近更新 更多