Posted at

Jupyter上のpysparkでspark-csvを使う

More than 3 years have passed since last update.

Jupyterからpysparkを使うときに、 spark-csvなど spark packagesに登録されているパッケージを読み込む方法を紹介します。

spark contextの初期化を行なう前に、下記コードを実行してpysparkの実行コマンドの引数を追加します。

import os

os.environ['PYSPARK_SUBMIT_ARGS'] = '--packages com.databricks:spark-csv_2.11:1.4.0 pyspark-shell'
import pyspark

この例では、scalaのバージョンが2.11の場合を想定しています。scalaのバージョンが2.10の場合は引数で渡しているパッケージ名を変更する必要があります。

あとは、いつも通りspark csvを使えます。

from pyspark import SparkContext, SparkConf

from pyspark.sql import SQLContext
from pyspark.sql.types import *

conf = SparkConf()
sc = SparkContext(conf=conf)
sqlContext = SQLContext(sc)

df = sqlContext.read.format('com.databricks.spark.csv').load('hdfs://path/to/example.csv')

print(len(df.collect()))