Wanne读取了一个带有缩进的json文件到RDD中,但是spark抛出了一个异常。在
# txts = sc.textFile('data/jsons_without_indentation') # works
txts = sc.textFile('data/jsons_with_indentation') # fails
txts_dicts = txts.map(lambda data: json.loads(data))
txts_dicts.collect()
在sc.wholeTextFiles公司也不起作用。是否可以加载带有缩进的json而不必先将其转换为文件?在
示例json文件如下所示:
^{pr2}$
如果这只是每个文件的一个JSON文档,那么您只需要
SparkContext.wholeTextFiles
。首先创建一些虚拟数据:现在让我们读取数据:
^{pr2}$并确保文件确实缩进:
最后,我们可以分析:
检查是否一切正常:
如果您仍然遇到一些问题,很可能是由于某些错误的条目造成的。您可以做的最简单的事情是使用带有自定义包装的
flatMap
丢弃格式错误的条目:并使用
try_seq
(此处定义:What is the equivalent to scala.util.Try in pyspark?)进行包装相关问题 更多 >
编程相关推荐