如何在pyspark中导入包

时间:2016-12-06 07:50:40

标签: python apache-spark pyspark

我使用pyspark进行数据处理。在DataFrame中加载数据后,有些列有json编码的字符串,而我想参与其中。

我目前的代码:

def f(column_name):
    import simplejson as json
    column_list = json.loads(column_name)
    return column_list[0] if column_list else ""

F = udf(f, StringType())
df = df.withColumn("new_A", F(df["A"]))

它将返回错误,如:

File "/usr/local/lib/python2.7/site-packages/simplejson/__init__.py", line 505, in loads
return _default_decoder.decode(s)
File "/usr/local/lib/python2.7/site-packages/simplejson/decoder.py", line 370, in decode
obj, end = self.raw_decode(s)
File "/usr/local/lib/python2.7/site-packages/simplejson/decoder.py", line 400, in raw_decode
return self.scan_once(s, idx=_w(s, idx).end())

如果我删除json部分但只是返回原始字符串,它就可以正常工作。

所以我猜pyspark中的导入包有错误,我该怎么做才能导入像simlejson,pickle这样的包......?

感谢。

0 个答案:

没有答案