您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Spark DataFrame方法“ toPandas”实际上在做什么?

Spark DataFrame方法“ toPandas”实际上在做什么?

使用spark将CSV文件读取到中pandas是实现将CSV文件读取到内存的最终目标的一种round回方法

似乎您可能误解了此处使用的技术的用例。

Spark用于分布式计算(尽管可以在本地使用)。通常,它太重了,无法用于简单地读取CSV文件

在您的示例中,该sc.textFile方法将简单地为您提供火花RDD,该火花RDD实际上是文本行列表。这可能不是您想要的。不会执行类型推断,因此,如果您想对CSV文件中的一列数字求和,则将无法执行,因为就Spark而言,它们仍然是字符串。

只需使用pandas.read_csv并将整个CSV读取到内存中即可。熊猫会自动推断每列的类型。Spark不会这样做。

现在回答您的问题:

是。toPandas()会将Spark DataFrame转换成Pandas DataFrame,它当然在内存中。

否。熊猫运行自己的计算,spark和pandas之间没有相互作用,仅存在 一些 API兼容性。

否。例如,Series对象具有interpolatePySparkColumn对象中不可用的方法。Pandas API中有很多方法函数,而PySpark API中没有。

绝对。实际上,在这种情况下,您甚至根本不应该使用Spark。pandas.read_csv除非你是一个工作很可能会处理你的使用情况 庞大 的数据量。

尝试使用简单,技术含量低,易于理解的库来解决您的问题,并且 在需要 时才 去处理更复杂的问题。很多时候,您将不需要更复杂的技术。

其他 2022/1/1 18:38:09 有512人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶