我是Spark和Python编码的新手。我使用saveAsTextFile保存处理后的数据。数据是行列表,保存后变成字符串。当我通过numpy.loadtxt("filename", delimiter=',')加载它们时(此方法将自动将加载的数据转换为float),有错误报告说由于'['方括号,数据无法转换为float。
那么,如何保存不带方括号或带有方括号的行列表,但稍后再加载它们并将其正确转换为float?

抱歉,我也是新手。这是为什么我的问题不是重复的解释。
链接列中的类似问题在Scala中,而我的问题在Python中(尽管答案在Scala中)。此外,这是使用replace的答案,可以完美地解决我的问题(删除列表的方括号),但是类似的问题中没有这种方法(我不确定我的第二点是否是解释)我已为该问题的以后的查看者评论了replace方法的Python版本。

最佳答案

如果您有(value1, value2)之类的数据,可以采取以下措施

data.map(x => x._1 + "," + x._2).saveAsTextFile(outputPath)


您可以使用mkstring()制作单个字符串

data.map(x=>x.mkString(",").saveAsTextFile(outputPath)


这是一个scala代码,希望您可以将其转换为pyspark。

希望这可以帮助!

关于python - 如何通过Spark/Pyspark中的saveAsTextFile保存不带方括号的列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44642651/

10-12 22:46