我正在将一个二进制文件摄取到 Spark 中——文件结构很简单,它由一系列记录组成,每条记录都包含许多浮点数。目前,我正在 python 中以块的形式读取数据,然后遍历各个记录以将它们转换为Row
Spark 可以用来构造DataFrame
. 这是非常低效的,因为不是以块的形式处理数据,而是需要我遍历各个元素。
是否有一种明显(首选)的方式来摄取这样的数据?理想情况下,我将能够将文件的一部分(比如 10240 条记录左右)读入缓冲区,指定架构并将其DataFrame
直接转换为。我看不到使用当前 API 执行此操作的方法,但也许我遗漏了一些东西?
这是一个演示当前过程的示例笔记本:https ://gist.github.com/rokroskar/bc0b4713214bb9b1e5ed
理想情况下,我将能够摆脱 for 循环buf
,直接将整个批次转换为对象read_batches
数组。Row