Начало работы с Spark (Datastax Enterprise)

Я пытаюсь настроить и запустить свой первый запрос 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)method принимает только SparkContext на входе, а не DseSparkContext (SparkContext и DseSparkContext - совершенно разные классы, и один не наследуется от другого).

Я предполагаю, что документация не актуальна для реальной версии, и если кто-то сталкивался с этой проблемой раньше, поделитесь со мной своим опытом,

Спасибо!


person Khachatur Stepanyan    schedule 22.05.2015    source источник


Ответы (1)


Похоже на ошибку в документации. Которые должны быть

DseSparkContext.apply(conf)

Поскольку DseSparkContext - это объект Scala, который использует функцию Apply для создания новых SparkContexts. В Scala вы можете просто написать DseSparkContext(conf), но в Java вы должны действительно вызвать метод. Я знаю, что у вас нет доступа к этому коду, поэтому я позабочусь о том, чтобы это было исправлено в документации, и посмотрю, сможем ли мы улучшить документацию по API.

person RussS    schedule 28.05.2015
comment
К вашему сведению, это все еще ошибка в документации. - person Ztyx; 20.11.2015
comment
Это больше не требуется @Zytx, я обновлю это позже (для dse 4.7+) - person RussS; 21.11.2015
comment
На самом деле я не уверен, позвольте мне дважды проверить с api - person RussS; 21.11.2015