Thanks Wes & Sebastien, 

I've tested Arrow in Go-WASM now and it is working fine.   Still getting my 
head around best way to use it for our Use case (IoT Data)

My goal here is to hit a Flight endpoint from the Browser  (GO-WASM 
specifically), and pull (all or part of)  an Arrow dataset on the server, into 
the Browser for visualization and local analysis.

  One of the issues I will contend with is that visualization can 'walk 
backwards'  in a larger dataset,  (Scrolling up),  not just forwards like an 
analytic generally does.   

Second goal is to update this visualization from a realtime stream, which can 
be as fast as 1 sample per second. 

I'm wondering if a use (abuse ?)  of batches and pre-allocation might work for 
streaming updates.  


Note:  It may be that using arrow like this for visualization is not 
appropriate, but I think it would be great if it can.

Regards

Mark.

-----Original Message-----
From: Sebastien Binet <w...@sbinet.org> 
Sent: Wednesday, August 12, 2020 1:53 PM
To: dev@arrow.apache.org
Subject: Re: Arrow Flight + Go, Arrow for Realtime

Mark,

AFAIK, nobody's actively working on Arrow-Flight for Go (I think somebody 
started that work at some point but I don't remember anything hitting the main 
repo)

as for Go+WASM:

https://lists.apache.org/thread.html/e15dc80debf9dea1b33581fa6ba95fd84b57c0ccd0162505d5d25079%40%3Cdev.arrow.apache.org%3E

ie:
===
I've just tried compiling this example:
-  https://godoc.org/github.com/apache/arrow/go/arrow#example-package--Table
to wasm.
compilation went fine:

$> GOOS=js GOARCH=wasm go build -o foo.wasm foo.go $> go-wasm ./foo.wasm
rec[0]["f1-i32"]: [1 2 3 4 5]
rec[0]["f2-f64"]: [1 2 3 4 5]
rec[1]["f1-i32"]: [6 7 8 (null) 10]
rec[1]["f2-f64"]: [6 7 8 9 10]
rec[2]["f1-i32"]: [11 12 13 14 15]
rec[2]["f2-f64"]: [11 12 13 14 15]
rec[3]["f1-i32"]: [16 17 18 19 20]
rec[3]["f2-f64"]: [16 17 18 19 20]

and it ran fine once this patch was added:
- https://github.com/apache/arrow/pull/3707

hth,
-s

PS: go-wasm is an alias of mine for this file:
https://github.com/golang/go/blob/master/misc/wasm/go_js_wasm_exec
===


hth,
-s



‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Wednesday, August 12, 2020 11:29 AM, <m...@markfarnan.com> wrote:

> I'm looking at using Arrow for a realtime IoT project which includes 
> use cases both on server, and also for transferring /using in a 
> Browser via WASM, and have a few questions.
>
> Language in use is Go.
>
> Is anyone working on implementing Arrow-Flight in Go ? (According to 
> the feature matrix, nothing ready yet, so wanted to check.
>
> Has anyone tried using Apache Arrow in Go WASM (Webassembly) ? if so, 
> any issues ?
>
> Any pointers/documentation on using/extending Arrow for realtime 
> streaming cases. (Specifically where a DataFrame is requested, but 
> then it needs to 'grow' as new data arrives, often at high speed).
>
> Not language specific, just trying to understand the right pattern for 
> using Arrow for this, and couldn't' find much in the docs.
>
> Regards
>
> Mark.



Reply via email to