Re: [DISCUSS] Protocol for exchanging Arrow data over REST APIs

2023-11-20 Thread Sutou Kouhei
Hi, > But how is the performance? It's faster than the original JSON based API. I implemented Apache Arrow support for a C# client. So I measured only with Apache Arrow C# but the Apache Arrow based API is faster than JSON based API. > Have you measured the throughput of this approach to see >

Re: [DISCUSS] Protocol for exchanging Arrow data over REST APIs

2023-11-20 Thread Ian Cook
Thank you Kou, Gavin, David, Antoine, and Raphael. It sounds like there is agreement on the following: - There is broad interest in the topic of how best to transfer Arrow data over HTTP. - Focusing only on REST-style APIs is too limiting; we should scope this to be about HTTP more broadly. (This

Re: [DISCUSS] Protocol for exchanging Arrow data over REST APIs

2023-11-20 Thread Raphael Taylor-Davies
I really like the idea of leveraging the mature ecosystem support for IPC streams [1] to provide a set of conventions for sending and receiving arrow data over plain HTTP. For context, myself and my colleagues have run into a number of pain points whilst working on FlightSQL: - The additiona

Re: [DISCUSS] Protocol for exchanging Arrow data over REST APIs

2023-11-20 Thread Antoine Pitrou
I also agree that an informal spec "how to efficiently transfer Arrow data over HTTP" makes sense. Probably with several aspects: - one-shot GET data - streaming GET - one-shot PUT or POST - streaming POST - non-Arrow prologue and epilogue (for example JSON-based metadata) - conventions for w

Re: [DISCUSS] Protocol for exchanging Arrow data over REST APIs

2023-11-20 Thread David Li
I'm with Kou: what exactly are we trying to specify? - The HTTP mapping of Flight RPC? - A full, locked down RPC framework like Flight RPC, but otherwise unrelated? - Something else? I'd also ask: do we need to specify anything in the first place? What is stopping people from using Arrow in thei