我对Apache Spark还比较新,我想在Python中从包含多个JSON文件的字典列表中创建一个单一的RDD(每个文件都经过了gzip压缩并包含一个字典列表)。大致上来说,生成的RDD将包含所有字典列表组合成的单个字典列表。我没有在文档(https://spark.apache.org/docs/1.2.0/api/python/pyspark.html)中找到这个问题的解决方法,如果我错过了,请告诉我。
到目前为止,我尝试读取JSON文件并在Python中创建组合列表,然后使用sc.parallelize(),但是整个数据集太大而无法全部加载到内存中,因此这不是实际可行的解决方案。看起来Spark应该有一种聪明的方式来处理这种情况,但我不知道它是什么。
如何在Python中创建一个包括所有JSON文件中列表的单一RDD?
我还要提到,我不想使用Spark SQL。如果可能的话,我想使用像map、filter等函数。
到目前为止,我尝试读取JSON文件并在Python中创建组合列表,然后使用sc.parallelize(),但是整个数据集太大而无法全部加载到内存中,因此这不是实际可行的解决方案。看起来Spark应该有一种聪明的方式来处理这种情况,但我不知道它是什么。
如何在Python中创建一个包括所有JSON文件中列表的单一RDD?
我还要提到,我不想使用Spark SQL。如果可能的话,我想使用像map、filter等函数。
sparkContext.textFile()
加载输入数据集(实际上似乎支持gzipped文件),然后使用你选择的解析器(例如json模块)解析字符串行,然后按照你的意愿进行处理。 - tgpfeiffer