#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(логическое значение) не определен для столбца типа» ,