2017-05-07 7 views
0

jupyterノートブックでcsvファイルを読み込むためにSparkを使用しようとしています。sparkを使用してcsv.fileを読み込む際にヘッダーを省略する方法は?

[Row(reviewerID=u'A1YKOIHKQHB58W', asin=u'B0001VL0K2', overall=u'5'), 
Row(reviewerID=u'A2YB0B3QOHEFR', asin=u'B000JJSRNY', overall=u'5'), 
Row(reviewerID=u'AAI0092FR8V1W', asin=u'B0060MYKYY', overall=u'5'), 
Row(reviewerID=u'A2TAPSNKK9AFSQ', asin=u'6303187218', overall=u'5'), 
Row(reviewerID=u'A316JR2TQLQT5F', asin=u'6305364206', overall=u'5')...] 

しかし、データフレームの各行は、それがなることができるように、私は、データを再フォーマットすることができますどのように、列名が含まれています。これまでのところ、私はこれはreviews_dfがどのように見えるかです

spark = SparkSession.builder.master("local[4]").getOrCreate() 
reviews_df = spark.read.option("header","true").csv("small.csv") 
reviews_df.collect() 

を持っています:あなたがデータフレームにcollect()を発行したとき、それは示して、なぜ

[(u'A1YKOIHKQHB58W', u'B0001VL0K2', u'5'), 
    (u'A2YB0B3QOHEFR', u'B000JJSRNY', u'5')....] 

答えて

1

DATAFRAMEは常に、オブジェクトを返すには、thatsの -

Row(reviewerID=u'A1YKOIHKQHB58W', asin=u'B0001VL0K2', overall=u'5') 

あなたが欲しいものを得るために、あなたが行うことができます -

reviews_df.rdd.map(lambda row : (row.reviewerID,row.asin,row.overall)).collect() 

これはあなたtuple of values of rows

を返します。
関連する問題