以capnp(cap'n proto)形式输出pyspark数据帧

2024-10-06 14:32:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我的任务是将Pyspark数据帧输出为cap'nproto(.capnp)格式。有没有人对最好的方法有什么建议?你知道吗

我有一个capnp模式,也看过capnp(http://capnproto.github.io/pycapnp/)的python包装器,但我仍然不确定从dataframe到capnp的最佳方式是什么。你知道吗


Tags: 数据方法iogithubhttpdataframe格式模式
1条回答
网友
1楼 · 发布于 2024-10-06 14:32:23

最简单的方法是使用RDD,即使用mapPartitions将分区收集为序列化的byte arrays,并将它们加入collect()中,或者使用toLocalIterator保存到磁盘(如果数据帧很大)。请参见伪代码示例:

create = your_serialization_method
serialize_partition = lambda partition: [b''.join([create(object).to_bytes() for object in partition])] # creates one-element partition
output = b''.join(df.rdd.mapPartitions(serialize_partition).collect())

相关问题 更多 >