Spark(Datastax Enterprise)入门

时间:2015-05-22 12:07:19

标签: cassandra apache-spark datastax 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类只有默认的空构造函数。

这些行之后是以下

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

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

我认为文档与realese版本不是最新版本,如果之前有人遇到此问题,请与我分享您的经验,

谢谢!

1 个答案:

答案 0 :(得分:1)

文档中似乎有一个错误。那应该是

DseSparkContext.apply(conf)

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