2017-07-06 10 views
0

pysparkのpipelinedRDDをデータフレームに変換しようとしています。これは、コードスニペットです:PipelinedRDDをデータフレームに変換する

newRDD = rdd.map(lambda row: Row(row.__fields__ + ["tag"])(row + (tagScripts(row),))) df = newRDD.toDF()

私もコードを実行すると、私はこのエラーが表示されます。

'list' object has no attribute 'encode'

私はそのように変換するなど、複数の他の組み合わせを、試してみましたパンダのデータフレーム使用:

newRDD = rdd.map(lambda row: Row(row.__fields__ + ["tag"])(row + (tagScripts(row),))) df = newRDD.toPandas()

しかし、私エンこのエラーを受け取るまでD:

AttributeError: 'PipelinedRDD' object has no attribute 'toPandas'

任意の助けいただければ幸いです。あなたの時間をありがとう。

答えて

0

rdd.toDF()またはrdd.toPandas()は、SparkSessionでのみ使用されます。下記てみてください、あなたのコードを修正するには

spark = SparkSession.builder.getOrCreate() 

rdd = spark.sparkContext.textFile() 
newRDD = rdd.map(...) 
df = newRDD.toDF() or newRDD.toPandas() 
+0

SparkSessionは、Spark 1.6では利用できません。 SparkSessionは、Spark 2.0でのみ使用可能になりました。私はSpark 2.0にアップグレードできません –

関連する問題