2017-04-21 81 views
3

我想將pyspark.rdd.RDD轉換爲數據幀。我已經在火花上做了,但現在在齊柏林飛艇上似乎沒有以同樣的方式工作。Zeppelin:將pyspark.rdd.RDD轉換爲數據幀(pyspark dataframe)

我用我的pyspark.rdd.RDD轉換成這樣:

from pyspark import SparkContext, SparkConf 
from pyspark.sql import SparkSession 
import pandas as pd 


#comment if a SparkContext has already been created 
sc = SparkContext() 

conf = {"es.resource" : "index/type", "es.nodes" : "ES_Serveur", "es.port" : "9200", "es.query" : "?q=*"} 
rdd = sc.newAPIHadoopRDD("org.elasticsearch.hadoop.mr.EsInputFormat","org.apache.hadoop.io.NullWritable", "org.elasticsearch.hadoop.mr.LinkedMapWritable", conf=conf) 

#to allow the toDF methode 
spark = SparkSession(sc) 

df = rdd.toDF().toPandas() 

和它的作品...火花提交沒有飛艇。

我想知道爲什麼。

我有一些日誌錯誤,但它是超過1000行..如果你想我可以給你這些日誌。

如果有人有一個想法.. 感謝

回答

0

我已經找到了解決辦法:在星火解釋(在飛艇)的配置,你需要改變zeppelin.spark.useHiveContext。然而,我不明白爲什麼問題在DF方法所在的線上出現...