Ошибка при доступе к кассандре из искры в java: невозможно импортировать CassandraJavaUtil

Я использую приведенный ниже блог для настройки доступа к Cassandra из apache spark.

"http://www.datastax.com/dev/blog/accessing-cassandra-from-spark-in-java" "https://gist.github.com/jacek-lewandowski/278bfc936ca990bee35a#file-javademo-java-L177"

Однако я не могу импортировать зависимость класса CassandraJavaUtil, и мое затмение отображает ошибку «Импорт не может быть разрешен».

import static com.datastax.spark.connector.CassandraJavaUtil.*;

Пожалуйста, помогите мне в решении этой ошибки.

Большое спасибо.


person Anand Sai Krishna    schedule 19.01.2015    source источник


Ответы (2)


Я также последовал примеру в первом документе, на который вы ссылаетесь. Вы заметите, что в разделе «Предварительные требования» шаг № 2 требует, чтобы вы создали пример как проект Maven. Шаг № 3 перечисляет четыре зависимости, которые вам нужно добавить в свой проект. Две из этих зависимостей относятся к Spark Connector:

  • com.datastax.spark:spark-cassandra-connector_2.10:1.0.0-rc4
  • com.datastax.spark:spark-cassandra-connector-java_2.10:1.0.0-rc4

По сути, раздел «зависимости» pom.xml для моих проектов Spark выглядит следующим образом:

  <dependencies>
    <dependency>
        <groupId>com.datastax.spark</groupId>
        <artifactId>spark-cassandra-connector_2.10</artifactId>
        <version>1.1.0-alpha2</version>
    </dependency>
    <dependency>
        <groupId>com.datastax.spark</groupId>
        <artifactId>spark-cassandra-connector-java_2.10</artifactId>
        <version>1.1.0-alpha2</version>
    </dependency>
    <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-core_2.10</artifactId>
        <version>1.1.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-streaming_2.10</artifactId>
        <version>1.1.0</version>
    </dependency>
  </dependencies>

Дважды проверьте, что ваш pom.xml имеет эти зависимости, а затем вызовите Maven, чтобы локально отключить библиотеки Spark Connector. Это сработало для меня:

cd workspace/sparkTest2
mvn package
person Aaron    schedule 19.01.2015
comment
все еще не работает, есть указатели? Метод javaFunctions(SparkContext) в типе CassandraJavaUtil неприменим для аргументов (JavaRDD‹JavaDemo.Product›, Class‹JavaDemo.Product›) - person mithra; 15.05.2015
comment
Добавили ‹!-- Зависимость Cassandra Spark Connector --› ‹dependency› ‹groupId›com.datastax.spark‹/groupId› ‹artifactId›spark-cassandra-connector_2.10‹/artifactId› ‹version›1.2.0‹/ version› ‹/dependency› ‹!-- Зависимость Cassandra java Connector --› ‹dependency› ‹groupId›com.datastax.spark‹/groupId› ‹artifactId›spark-cassandra-connector-java_2.10‹/artifactId› ‹version ›1.2.0‹/версия› ‹/зависимость› все еще не работает, какие-либо указатели, пожалуйста - person mithra; 20.05.2015
comment
@mitra Давай, задай это как отдельный вопрос. Таким образом, вы привлечете больше людей, чтобы посмотреть на него. - person Aaron; 20.05.2015

Класс CassandraJavaUtil теперь перемещен в пакет japi в com.datastax.spark.connector.

Итак, попробуйте использовать: -

import static com.datastax.spark.connector.japi.CassandraJavaUtil.*;

Примечание. Согласно этому документу:

https://github.com/datastax/spark-cassandra-connector/blob/master/doc/7_java_api.md

Начиная с версии 1.1.x, Java API поставляется с несколькими полезными фабричными методами, которые можно использовать для создания фабрик считывателей строк двух основных типов: на основе преобразователя типов и на основе сопоставления столбцов.

Также обратите внимание, что синтаксис для использования CassandraJavaUtil.javaFunctions() также изменился. Внимательно просмотрите приведенную выше ссылку.

person Abhidemon    schedule 18.11.2015