python - Zeppelin : Convert a pyspark. rdd.RDD 到数据帧(pyspark 数据帧)

标签 python pyspark apache-zeppelin

我正在尝试将 pyspark.rdd.RDD 转换为数据帧。我已经在 spark 中完成了它,但现在在 Zeppelin 中它似乎并没有以同样的方式工作。

我曾经以这种方式转换我的 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()

它有效...在 spark submit 中在 Zeppelin 中无效。

我想知道为什么。

我有一些日志错误,但超过 1000 行。如果您需要,我可以给您这些日志。

如果有人有想法.. 谢谢

最佳答案

我找到了解决方案:在 Spark Interpreter(在 Zeppelin 中)的配置中,您需要将 zeppelin.spark.useHiveContext 行更改为 false。 尽管如此,我还是不明白为什么问题会出现在 toDF 方法所在的那一行......

关于python - Zeppelin : Convert a pyspark. rdd.RDD 到数据帧(pyspark 数据帧),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43543391/

相关文章:

python - 当它们是列表列表时如何在 numpy 中加入 2 列?

python - 均值按两列分组,窗口为 3 个月,NaN 小于 3 个月

azure - 优化时间戳范围查询的 Delta Lake 分区

docker - 如何从Docker保存Zeppelin Notebook?

apache-spark - Spark Streaming 的热图

python - 如何让我的 Python 程序使用 4 个字节而不是 24 个字节来表示 int?

Python 2.6 urlib2 超时问题

python - 二进制搜索算法不起作用

apache-spark - 如何让 Pyspark 在两个级别聚合集合?

apache-zeppelin - Apache Zeppelin - 日期选择器