开始使用 Spark (Datastax Enterprise)

Getting started with Spark (Datastax Enterprise)

我正在尝试设置 运行 我在 official example 之后的第一个 Spark 查询。 在我们的本地机器上,我们已经安装了最新版本的 Datastax Enterprise 数据包(目前是 4.7)。

我完全按照文档做所有事情,我将最新版本的 dse.jar 添加到我的项目中,但错误从一开始就出现了:

这是他们示例中的片段

SparkConf conf = DseSparkConfHelper.enrichSparkConf(new SparkConf())
            .setAppName( "My application");
DseSparkContext sc = new DseSparkContext(conf);

现在 DseSparkContext class 似乎只有默认的空构造函数。

在这些行之后是以下内容

JavaRDD<String> cassandraRdd = CassandraJavaUtil.javaFunctions(sc)
    .cassandraTable("my_keyspace", "my_table", .mapColumnTo(String.class))
    .select("my_column");

主要问题来了,CassandraJavaUtil.javaFunctions(sc)方法只接受 SparkContext 输入而不接受 DseSparkContextSparkContextDseSparkContext 完全不同 class是的,一个不是从另一个继承的)。

我假设文档不是最新的 realese 版本,如果以前有人遇到过这个问题,请与我分享您的经验,

谢谢!

文档中似乎存在错误。那应该是

DseSparkContext.apply(conf)

由于 DseSparkContext 是一个 Scala 对象,它使用 Apply 函数创建新的 SparkContext。在 Scala 中你可以只写 DseSparkContext(conf) 但在 Java 中你必须实际调用该方法。我知道您无权访问此代码,所以我会确保在文档中修复此问题,看看我们是否可以得到更好的 API 文档。