如何将缓冲区中的文件从Python发送到Julia



我在Python中有一个大的Pandas DataFrame,我想在Julia程序中访问它(作为Julia DataFrame)。DataFrame对象)。由于我想避免为从Python发送到Julia的每个文件写入磁盘,因此似乎将DataFrame存储在缓冲区中的Apache Arrow/Feather文件中,并通过TCP从Python发送到Julia是理想的。

我已经试了很多遍,但不知道如何

  1. 将Apache Arrow/Feather文件写入内存(不是存储)
  2. 通过TCP从python发送
  3. 从Julia中的TCP端口访问它们

谢谢你的帮助。

嗯,好问题。我不确定使用TCP套接字一定是最简单的,因为你需要一端作为"服务器"。套接字和另一个作为客户端。所以典型的TCP流程是:1)服务器绑定并监听端口,2)服务器调用"接受";一个新的连接,3)客户端调用"在端口上初始化连接,4)一旦服务器接受,连接建立,然后服务器/客户端可以通过连接的套接字相互写入数据。

我已经成功地做了一些类似于您所描述的使用映射文件的事情,尽管可能您有一个根本不接触磁盘的硬性要求。这工作得很好,因为python和Julia处理都只是"共享"。映射文件。

另一种你可以查看的方法是我设置的"往返"在绿箭进行测试。Julia包:https://github.com/apache/arrow-julia/blob/main/test/pyarrow_roundtrip.jl。它被设置为使用PyCall。在python和Julia之间共享字节。

希望有帮助!

最新更新