1

問題が発生しました。インポート時にcassandra接続コードのサンプルを書き込むと、エラーが発生する。PysparkとCassandra接続エラー

iは

./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

どこにそのimport文を手に入れたためPySpark with DataFramesマニュアルを参照してくださいから? Cassandraコネクタのドキュメントをお読みください:https://github.com/datastax/spark-cassandra-connector#documentation?そのインポートステートメントはどこにも言及されていません。その名前を持つモジュールが実際には存在しないからです。 – sgvd

答えて

1

DataStaxのSpark Cassandra Connector(spark submitに追加するjarファイル)とTargetHoldingのPySpark Cassandraプロジェクト(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アドレスを使用し、使用するために必要なもの、コネクタバージョンを確認:2.0.0 -M3は最新のバージョンで、Spark 2.0とほとんどのCassandraバージョンで動作します。別のバージョンのSparkを使用している場合は、compatibility tableを参照してください。 2.10または2.11は、あなたのSparkバージョンが組み込まれているScalaのバージョンです。スパーク2を使用している場合、デフォルトで2.11、2.xより前のバージョンは2.10です。

次にコネクタで動作するように素敵な方法は、次のようになりますこれは、データフレームを読み取るためにそれを使用することです:

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

は詳細