1

У меня возникла проблема. Когда я пишу пример кода связи cassandra, а импорт соединителя cassandra дает ошибку.Ошибка подключения Pyspark и Cassandra

я начинаю сценарий, как показано ниже кода (оба дали ошибку)

./spark-submit --jars spark-cassandra-connector_2.11-1.6.0-M1.jar /home/beyhan/sparkCassandra.py 

./spark-submit --jars spark-cassandra-connector_2.10-1.6.0.jar /home/beyhan/sparkCassandra.py 

Но давая ниже ошибки при

import pyspark_cassandra 

ImportError: No module named pyspark_cassandra

Какую часть я сделал не так?

Примечание: Я уже установил базу данных cassandra.

+0

Где вы взяли, что оператор импорта из? Прочитали ли вы документацию коннектора Cassandra: https://github.com/datastax/spark-cassandra-connector#documentation? Этот оператор импорта нигде не упоминается, потому что действительно нет модуля с этим именем. – sgvd

ответ

1

Вы смешиваете DataStax 'Spark Cassandra Connector (в банке, которую добавляете в исходный текст), и проект PySpark Cassandra от TargetHolding (который имеет модуль pyspark_cassandra). Последнее устарело, поэтому вам, вероятно, следует использовать Spark Cassandra Connector. Документацию по этому пакету можно найти here.

Чтобы использовать его, вы можете добавить следующие флаги, чтобы зажечь представить:

--conf spark.cassandra.connection.host=127.0.0.1 \ 
--packages com.datastax.spark:spark-cassandra-connector_2.11:2.0.0-M3 

Конечно использовать IP-адрес, на котором Cassandra слушает, и проверить, какая версия соединителя вам нужно использовать: 2.0.0 -M3 является последней версией и работает с Spark 2.0 и большинством версий Cassandra. См. compatibility table в случае, если вы используете другую версию Spark. 2.10 или 2.11 - это версия Scala, разработанная для вашей версии Spark. Если вы используете Spark 2, по умолчанию он равен 2.11, то до 2.x это была версия 2.10.

Тогда самый хороший способ работать с разъемом, чтобы использовать его для чтения dataframes, который выглядит следующим образом:

sqlContext.read\ 
    .format("org.apache.spark.sql.cassandra")\ 
    .options(table="kv", keyspace="test")\ 
    .load().show() 

См PySpark with DataFrames документации для получения более подробной информации

 Смежные вопросы

  • Нет связанных вопросов^_^