Импорт com.datastax.spark.connector.Не удается разрешить CassandraJavaUtil

#java #apache-spark #cassandra #spark-cassandra-connector

#java #apache-spark #кассандра #spark-cassandra-connector

Вопрос:

Я пытаюсь использовать spark-sql java API для подключения cassandra. Ниже приведен jar, который я использую

 <dependency>
    <groupId>com.datastax.cassandra</groupId>
    <artifactId>spark-cassandra-connector_2.11</artifactId>
    <version>2.3.1</version>
</dependency>
  

Пытаюсь сохранить rdd в таблицу Cassandra.

Когда я пытаюсь импортировать статический импорт com.datastax.spark.connector.CassandraJavaUtil.javaFunctions;

Выдает ошибку «Импорт com.datastax.spark.connector.Не удается разрешить CassandraJavaUtil»

Что еще мне нужно добавить в мой pom.xml ? Существует ли какая-либо документация spark-cassandra-connector для Java 8 API?

Я имею в виду этот пример, чтобы продолжить работу на Java

https://gist.github.com/jacek-lewandowski/278bfc936ca990bee35a

Ответ №1:

Вместо этого вам нужно использовать следующую зависимость:

 <dependency>
    <groupId>com.datastax.spark</groupId>
    <artifactId>spark-cassandra-connector_2.11</artifactId>
    <version>2.3.1</version>
</dependency>
  

В вашем примере идентификатор группы неверен…

Вся документация для Spark Connector находится в репозитории.

Комментарии:

1. понял вас, в scala vals_df.drop(col(«lastStagedTs»)).filter(col(«BENCHMARK_TYPE_CODE») === «ПРОЦЕНТИЛИ_50») эта фильтрация работала нормально… теперь в Java это не будет работать, поскольку col() не определен. Я импортировал import static org.apache.spark.sql.functions.*; по-прежнему функция «col» не распознается, как это исправить?

2. да, я прочитал это github.com/datastax/spark-cassandra-connector/blob/master/doc / … но не очень полезно , как и большинство материалов в scala , для Java это не является описательным . Ex df .filter(col(«BENCHMARK_TYPE_CODE»).equals(«ПРОЦЕНТИЛИ_50»)) выдает «Метод filter(логическое значение) не определен для столбца типа» ,