我试图将一个矩阵的一个纯文本文件(制表符分隔)读入dask
数组,使用distributed
将数组的块分布到整个集群中。在
(旁白:这与PySpark的^{
但是,我不清楚如何使用可用的工具将文本文件解析为矩阵结构。在PySpark中,我可以用一个简单的map
和一个UDF来完成这项工作,该UDF将一个空格上的每一行拆分并将标记转换为一个float列表,最后将该列表转换为一个[索引]numpy数组。在
我从dask.bag.read_text
方法开始,它有一个参数collection
,我可以将它设置为False
,所以它会给我一堆Delayed
期货。如何将这些解析为最终矩阵的行?
from dask.bag import read_text
matrix = read_text(filename.txt, collection = False)
这只返回一个单一的未来。如何为文本文件中的每一行生成一个future?在
这里有几个步骤:
用read_text
默认情况下,
read_text
将每个文件视为单个流分区。如果您喜欢将数据分成几部分,那么使用blocksize=
关键字参数将文本列表的期货转换为numpy数组的期货
使用您控制的未来,您可能会创建一个函数,将您的列表转换为numpy数组
^{pr2}$将期货转换为小额磁盘阵列
我们把每一个未来磁盘阵列在
将多个数组串联成单个数组
相关问题 更多 >
编程相关推荐