There might actually be another way to do that using python or scala code.

I don't have experience in those, but I guess the overall idea behind it
would be to have this type of code in a paragraph that you run:


// Include python websocket library

// pythonWebsocketOpenConnection(myServerWithData)

// pythonWebsocketEventListener(event) {
//   transform data to be in the format "product\tprice\nbanana\t12\
napple\t8"
//   print("%table " + event.data )
//}

This example is for the result of a single paragraph (the one with the
code),
However if you receive result for multiple graphs in that hook, you could
probably prepare other paragraphs with something like:

//  print("%table " + graphData1 )

and change the original hook in previous example to do
// pythonWebsocketEventListener(event) {
//   graphData1 = event.data.graph1 (transformed in the format
"product\tprice\nbanana\t12\napple\t8")
//   z.runParagraph(paragrpahID) (The one with the graphData1, the ID is in
the paragraph dropdown settings)
//   etc...
//}




On Thu, Sep 8, 2016 at 5:31 PM, Corneau Damien <cornead...@gmail.com> wrote:

> To reply to 1)
>
> The type of  charts and its options are set in the UI, and saved as
> settings in the note.
> So the queries do not have any effect on it.
>
> The front-end receive data as a result of a query.
>
> for example:
>
> You can type
>
> ```
> %sql
> select * from bank
> ```
>
> And the front-end will receive a table like result in the form of:
>
> "product\tprice\nbanana\t12\napple\t8"
>
> It will first show it as a Table, but the UI allows you to change the
> visualization type.
>
>
> To reply to 2)
>
> I don't have any knowledge of a websocket interpreter.
>
> However like I explained before in the Zeppelin workflow,
> Zeppelin Server send a Query through an interpreter to whatever type of
> backend, and gets a result back.
> It then send back that result to the UI.
>
> A Spark interpreter is used to query Spark,
> A JDBC interpreter is used to query SQL server
> and so on...
> (We even have a shell interpreter)
>
> If you are using something custom outside of the existing data
> processing/data store technology we have,
> and you want to make Zeppelin communicate with it to render data, you will
> need to create a custom interpreter.
>
> On Thu, Sep 8, 2016 at 4:20 PM, kant kodali <kanth...@gmail.com> wrote:
>
>> @Corneau The links you have pointed out doesnt show how I can retrieve
>> messages through websocket and tie to chars. I would stress again and say
>> how do i tie all this up to charts?
>>
>> On Thu, Sep 8, 2016 at 12:17 AM, kant kodali <kanth...@gmail.com> wrote:
>>
>>> Hi Corneau,
>>>
>>> I appreciate the responses but again I am really looking for a specific
>>> answer
>>>
>>> 1. "This protocol looks interesting but how do I construct messages
>>> such that I can see different visualizations of charts?" This question
>>> is not being addressed.
>>>
>>> 2. How can I use an existing interpreter and achieve my goal otherwords
>>> again how can I tie all this thing to charts (I just haven't heard any
>>> answer related to that)? If I were to write my own interpreter then I might
>>> as well create my own UI.
>>>
>>> It is ok if you guys say it is not possible and I would understand that
>>> and probably pick a different route.
>>>
>>> Thanks much,
>>> Kant
>>>
>>>
>>> On Thu, Sep 8, 2016 at 12:10 AM, Corneau Damien <cornead...@gmail.com>
>>> wrote:
>>>
>>>> You will probably need to make an interpreter for it, or use an
>>>> existing one.
>>>>
>>>> https://zeppelin.apache.org/docs/0.7.0-SNAPSHOT/manual/inter
>>>> preters.html
>>>>
>>>> You will find the list of existing interpreters in the menu.
>>>>
>>>> If you do need to create one, then you can refer to this guide
>>>> https://zeppelin.apache.org/docs/0.7.0-SNAPSHOT/development/
>>>> writingzeppelininterpreter.html
>>>>
>>>> On Thu, Sep 8, 2016 at 3:56 PM, kant kodali <kanth...@gmail.com> wrote:
>>>>
>>>>> @spacewalkman Just an FYI I don't have anything to do with Spark at
>>>>> the moment. I just have a node.js server which is capable of websocket
>>>>> connections and ready to push data needed for charts.
>>>>>
>>>>> This protocol looks interesting but how do I construct messages such
>>>>> that I can see different visualizations of charts? I am pretty sure I have
>>>>> articulated my question clearly it will great if I can see a bit
>>>>> detailed description or a simple example.
>>>>>
>>>>> I believe that I am asking for a very simple feature.
>>>>>
>>>>> Thanks a ton,
>>>>> Kant
>>>>>
>>>>> On Wed, Sep 7, 2016 at 8:52 PM, spacewalk...@163.com <
>>>>> spacewalk...@163.com> wrote:
>>>>>
>>>>>> maybe a custom SparkStreamingInterpreter  can handle this.
>>>>>>
>>>>>> zeppelin WS protocol is defined in:
>>>>>>
>>>>>>
>>>>>>    1. https://github.com/apache/zeppelin/blob/master/zeppelin-zeng
>>>>>>    ine/src/main/java/org/apache/zeppelin/notebook/socket/Message.java
>>>>>>    
>>>>>> <https://github.com/apache/zeppelin/blob/master/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/socket/Message.java>
>>>>>>
>>>>>>
>>>>>> every [c-s] message is handled by zeppelin backend, [s-c] is handled
>>>>>> by zeppelin frontend.All you have to do is when new streaming data is
>>>>>> there, triigger a [s-c] message from backend, a frontend event handler 
>>>>>> may
>>>>>> also required.
>>>>>>
>>>>>>
>>>>>> 在 2016年9月8日,11:39,kant kodali <kanth...@gmail.com> 写道:
>>>>>>
>>>>>> ok here is a concrete example. I am still trying to connect the
>>>>>> dots..If I were to split Zeppelin as both front end and backend then I
>>>>>> wouldn't choose to use Zeppelin in the first place. The main motivation 
>>>>>> for
>>>>>> me to explore Zeppelin is that I don't have to spend time developing
>>>>>> different visualiztions. I have used tableau before I see Zeppelin to be
>>>>>> similar in some ways. ok now here is the problem I am trying to solve and
>>>>>> any help I can get will be great!
>>>>>>
>>>>>> say I am trying to build a time series graph(bar graph or whatever
>>>>>> works) where my x axis represent time and y axis represent total number 
>>>>>> of
>>>>>> transactions and say every second I get updates through web socket from 
>>>>>> my
>>>>>> server and I need the graph to be updated every second. thats it.
>>>>>>
>>>>>> please let me know if that is feasible.
>>>>>>
>>>>>> Thanks,
>>>>>> Kant
>>>>>>
>>>>>> On Wed, Sep 7, 2016 at 6:59 PM, spacewalk...@163.com <
>>>>>> spacewalk...@163.com> wrote:
>>>>>>
>>>>>>> i thought it was a separating zeppelin backend and frontend problem,
>>>>>>> but what @corneadoug say is a high-level WS description, maybe i
>>>>>>> misinterpretation @kant kodali’s issue
>>>>>>>
>>>>>>>
>>>>>>> 在 2016年9月8日,09:48,Corneau Damien <cornead...@gmail.com> 写道:
>>>>>>>
>>>>>>> This change wouldn't solve your issue, it is the address where the
>>>>>>> front-end send his API requests and listen to WS (zeppelin server)
>>>>>>> I guess your requirements are different.
>>>>>>>
>>>>>>> The way Zeppelin works is usually pretty simple:
>>>>>>>
>>>>>>> 1) You type your code in the front-end
>>>>>>> 2) That code is sent to Zeppelin server to be run
>>>>>>> 3) The server send it to the right processing engine
>>>>>>> 4) Processing engine send back the result
>>>>>>> 5) Zeppelin Server send a websocket event
>>>>>>> 6) Front-end show whatever he receives
>>>>>>>
>>>>>>> You might be able to find a few Notebook examples on how some people
>>>>>>> used Spark Streaming here:
>>>>>>> https://www.zeppelinhub.com/viewer/showcases/Streaming
>>>>>>>
>>>>>>> On Thu, Sep 8, 2016 at 3:30 AM, kant kodali <kanth...@gmail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Hi! Thanks for this but I still see the big picture. I have not
>>>>>>>> used Angular before nor I am a frontend guy. so I have the following
>>>>>>>> questions.
>>>>>>>>
>>>>>>>>
>>>>>>>>    1. Why do we need to change the source code? isn't this
>>>>>>>>    configurable or isn't there a way to pass url as a parameter? If 
>>>>>>>> you think
>>>>>>>>    it is the easiest way sure I can change that.
>>>>>>>>    2. How change this let me grab data from my websocket server
>>>>>>>>    and display it with the charts/graphs (simple to graphs we see when 
>>>>>>>> we run
>>>>>>>>    sql on Zeppelin notebook)
>>>>>>>>    3. if there is a simple example that would be awesome.
>>>>>>>>
>>>>>>>> Thanks again!
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Wed, Sep 7, 2016 5:05 AM, spacewalk...@163.com
>>>>>>>> spacewalk...@163.com wrote:
>>>>>>>>
>>>>>>>>> @kant kodali
>>>>>>>>>
>>>>>>>>> change   zeppelin-web\ src\components\baseUrl\baseUrl.service.js
>>>>>>>>> like this:
>>>>>>>>>
>>>>>>>>>  this.getWebsocketUrl = function() {
>>>>>>>>>     var wsProtocol = location.protocol === 'https:' ? 'wss:' :
>>>>>>>>> 'ws:';
>>>>>>>>>     return wsProtocol + ‘//your_ip_address:' + this.getPort() +
>>>>>>>>> skipTrailingSlash(location.pathname) + '/ws';
>>>>>>>>>   };
>>>>>>>>>
>>>>>>>>>   this.getRestApiBase = function() {
>>>>>>>>>     return location.protocol + '//your_ip_address:' +
>>>>>>>>> this.getPort() + skipTrailingSlash(location.pathname) +
>>>>>>>>>       '/api';
>>>>>>>>>   };
>>>>>>>>>
>>>>>>>>> 在 2016年9月7日,15:39,kant kodali <kanth...@gmail.com> 写道:
>>>>>>>>>
>>>>>>>>> HI Guys,
>>>>>>>>>
>>>>>>>>> I have a server which can handle websocket connections. Now I
>>>>>>>>> would like to see if there is a way to tell apache zeppellin to 
>>>>>>>>> create to
>>>>>>>>> websocket connect to my server and display the whatever it received?
>>>>>>>>>
>>>>>>>>> Thanks,
>>>>>>>>> Kant
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>

Reply via email to