asterixdb-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Eugenia Gabrielova (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ASTERIXDB-1163) Usability of Asterix front-end examples - Discussion
Date Tue, 10 Nov 2015 05:46:10 GMT

    [ https://issues.apache.org/jira/browse/ASTERIXDB-1163?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14997994#comment-14997994
] 

Eugenia Gabrielova commented on ASTERIXDB-1163:
-----------------------------------------------

Thanks [~csamak]! I've heard about your projects with LInQ and MongoDB and I appreciate the
input. At the moment, the JS AQL library is a bit like that - the base functionality can just
handle the AQL string, or functions can be used to form one e.g.,  "new query().where(...).groupBy(...);"

Your point about the lack of benefit if it's just a shell is definitely on my mind. I think
these bindings could be really useful from a rapid prototyping perspective. Let's say you
have a sweet geospatial dataset in AsterixDB, and you really want to see how it looks without
dealing with a bunch of CSS and HTML setup. AsterixDB bindings in Python with modules for
matplotlib [1] or ipython [2,3] support would allow the developer to do some fun prototyping
and development without needing to touch Javascript/front-end code at all. Here's how I imagine
an example looking from the command line, using the matplotlib Basemap [4] tool:

$ python
import asterixdb as a
a.connect("localhost", 19002)
a.dataverse("twitter")
res = a.query("for $t in dataset tweets return $t")
a.matplotlib.basemap(res)
[shiny plot generated]

No Javascript/HTML/CSS and awkward Chrome error messages. Just delicious text on a beautiful
clean terminal, and a plot on the side. If you're feeling really fancy, generate an ipython
notebook to demonstrate which AQL queries led to the plot. Easier to test automatically with
no browser in the picture, so then we can properly integrate examples in the testing pipeline.

[1] matplotlib, a popular and stable BSD-licensed Python graphing library - http://matplotlib.org/
[2] ipython, a popular and stable BSD-licensed dev notebook tool - http://ipython.org/
[3] a nice ipython example with plots in it - http://nbviewer.ipython.org/github/jrjohansson/scientific-python-lectures/blob/master/Lecture-4-Matplotlib.ipynb
[4] Basemap, a geospatial component of matplotlib - http://matplotlib.org/basemap/

> Usability of Asterix front-end examples - Discussion
> ----------------------------------------------------
>
>                 Key: ASTERIXDB-1163
>                 URL: https://issues.apache.org/jira/browse/ASTERIXDB-1163
>             Project: Apache AsterixDB
>          Issue Type: Improvement
>          Components: Other
>         Environment: n/a
>            Reporter: Eugenia Gabrielova
>            Priority: Minor
>              Labels: SDK
>
> Motivation:
> While collaborating with [~javierjia], I observed that the SDK design and existing examples
were not ideal for helping him get things done in his project. He mentioned that he found
it more straightforward to submit queries directly and the Javascript resources available
are too clunky. He wanted more ease of use in communicating with a remote machine.
> Discussion:
> The existing SDK setup and examples aren't great for getting things done and it can be
challenging to untangle. I would like to refactor this code with significant design changes
with feedback from the community on what is needed.
> Questions:
> - Those who have built (or would like to build) front-end stuff with Asterix - what would
help you? What made your life difficult?
> - Thoughts on language-specific libraries? e.g., pysterix (python bridge for Asterix)
> Goal: I'd like to make it easy for people to build cool things on AsterixDB, without
a messy front-end learning curve. This change would also make it easier to automatically test
the examples (a concern recently mentioned in the mailing list). Drastically reducing the
technical debt of the geospatial example is my next step.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message