【发布时间】:2016-07-14 06:15:34
【问题描述】:
我正在使用 Jupyter 笔记本对 pySpark 进行分析。我的代码最初使用 sqlContext = SQLContext(sc) 构建数据框,但现在我已切换到 HiveContext,因为我将使用窗口函数。
我的问题是现在我在尝试创建数据框时遇到了 Java 错误:
## Create new SQL Context.
from pyspark.sql import SQLContext
from pyspark.sql import DataFrame
from pyspark.sql import Window
from pyspark.sql.types import *
import pyspark.sql.functions as func
sqlContext = HiveContext(sc)
之后,我将数据读入 RDD,并为我的 DF 创建架构。
## After loading the data we define the schema.
fields = [StructField(field_name, StringType(), True) for field_name in data_header]
schema = StructType(fields)
现在,当我尝试构建 DF 时,这是我得到的错误:
## Build the DF.
data_df = sqlContext.createDataFrame(data_tmp, schema)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
...
/home/scala/spark-1.6.1/python/pyspark/sql/context.pyc in _get_hive_ctx(self)
690
691 def _get_hive_ctx(self):
--> 692 return self._jvm.HiveContext(self._jsc.sc())
693
694 def refreshTable(self, tableName):
TypeError: 'JavaPackage' object is not callable
到目前为止,我一直在谷歌上搜索它,但没有运气。非常感谢任何建议。
【问题讨论】:
-
看来您自己构建了 Spark,对吗?如果是这种情况,您能否提供有关该方法的一些详细信息?
-
@zero323 是的,我遵循了一个与这个非常相似的教程:blog.prabeeshk.com/blog/2014/10/31/…。它看起来像一个配置问题吗?如果您对如何解决此问题有任何建议,我愿意重新安装。谢谢。
标签: java python apache-spark pyspark spark-hive