New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[JS] Arrow Flight JavaScript Client or Example #17325
Comments
Micah Kornfield / @emkornfield:
CC @TheNeuralBit [~paul.e.taylor] to correct any inaccuracies. |
Paul Taylor / @trxcllnt: The only widely/natively supported deflate implementation in browsers is gzip (and to a lesser extent, brotli), but deflate is applied at the message/chunk level in the browser's networking stack, so compression must be applied to the entire payload. |
Hugh Matsubara: May I ask if there is any roadmap for implementing flight in JS? Are there any major technical roadblocks (like unimplemented features in web-grpc) or limitations that are known to the community? |
David Li / @lidavidm: All in all, I think it's feasible, but needs someone to drive it. I'm happy to answer questions about Flight and help with the effort as I have been interested, but never had the time to drive this by myself. |
Hi, can you please update if there is any update on this effort? |
Hello, I am also in this same situation. I made a small grpc-web demo (you can take a look here https://git.ligo.org/martin.beroiz/grpc-demo) and I'm now expanding it to replace the grpc server to an arrow flight server. The server side works as intended without much change, but I'm struggling on the browser side. I compiled the arrow flight protobuf's and included them in the web app (I can upload a work-in-progress repo if anyone is interested) The client.js side looks a bit like this: import { HandshakeRequest, Criteria } from "./arrow_pb.js";
import { FlightServiceClient } from "./arrow_grpc_web_pb.js";
var myFlightService = new FlightServiceClient("http://localhost:8080");
$(document).ready(function () {
$("#send-button").on("click", async function (e) {
e.preventDefault();
var request = new HandshakeRequest();
var criteria = new Criteria();
myFlightService.listFlights(request, criteria).then((err, response) => {
if (err) {
console.log(err);
}
console.log(response);
});
});
}); This doesn't work mainly because I don't know much about calling flight from a client in general.
A short example with a |
Is it possible to use Apache Arrow Flight to send data from a Python Web Server to a JavaScript browser client? If it is possible, is there a code example to use to get started?
If this is not possible, what is the fastest way to send data from a Python Web Server to Apache Arrow in the browser today? Would it be faster to send a Parquet file and unpack it client-side, or send Arrow directly/with gzip/ etc.?
Reporter: Alex Monahan
Note: This issue was originally created as ARROW-9860. Please see the migration documentation for further details.
The text was updated successfully, but these errors were encountered: