2017-02-07 17 views
1

JupyterノートブックでSpark Avroファイルを読みたい。Pyspark Kernelを使ってJupyterノートブックでSpark Avroファイルを読む

私は火花を作りました。

私は

pyspark --packages org.apache.avro:avro-mapred:1.7.7,com.databricks:spark-avro_2.10:2.0.1 

ブラウザでjupyterノートブックを開くことができると私は、次のコマンドを実行することができますし、それが適切に読み込み、次の自分のディレクトリに移動してください。

sdf_entities = sqlContext.read.format("com.databricks.spark.avro").load("learning_entity.avro") 
sdf_entities.cache().take(1) 

しかし、私はpysparkノートブックを開くたびにpackagesコマンドを与えたくありません。私はスパーク-CSVパッケージを使用する必要がある場合と同じように、私はただの端末に

pyspark 

を行うと、それが火花CSVパッケージとjupyterノートブックを開きます。私はspark-csvのpackagesコマンドを特別に与える必要はありません。

しかし、これはspark-avroでは機能しないようです。

注: 1)。私は構成設定で "pyspark"としてiphython/jupyterノートブックのコマンドを設定しました。そうすれば、pysparkが端末で呼び出されるたびに自動的にjyupyterノートブックが開きます。

2)。私はspark-confフォルダ内のspark-confファイルにspark-csvとspark-avroの両方のパスを追加しました。次に、spark-defaults.confファイルの外観を示します。

# Example: 
# spark.master      spark://master:7077 
# spark.eventLog.enabled   true 
# spark.eventLog.dir    hdfs://namenode:8021/directory 
# spark.serializer     org.apache.spark.serializer.KryoSerializer 
spark.driver.memory    12g 
spark.executor.memory   3g 
spark.driver.maxResultSize  3g 
spark.rdd.compress    false 
spark.storage.memoryFraction  0.5 


spark.executor.extraJavaOptions -XX:+PrintGCDetails -Dkey=value 

spark.jars.packages com.databricks:spark-csv_2.11:1.4.0 
spark-jars.packages com.databricks:spark-avro_2.10:2.0.1 

ヘルプがありますか?

答えて

1

正しいプロパティ名はspark.jars.packagesspark-jars.packagesではありません)で、複数のパッケージはコマンドライン引数と同じカンマ区切りの単一のリストとして指定する必要があります。

Sparkバイナリの作成に使用したScalaのバージョンと同じScalaアーチファクトも使用する必要があります。たとえば、Scala 2.10の場合(Spark 1.xのデフォルト):

spark.jars.packages com.databricks:spark-avro_2.10:2.0.1,com.databricks:spark-csv_2.10:1.5.0 
関連する問題