You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@drill.apache.org by Kunal Khatua <ku...@apache.org> on 2018/03/16 23:02:27 UTC

Re: Storage plugin for GraphQL

 What is the data format?

If you have a JDBC driver for that, you should be able to query it.

On 2/24/2018 9:01:43 PM, Bremner-Stokes, Glen <gs...@sciencelogic.com>
wrote:
Hello all,

Not sure if I am posting this correctly so please redirect me if necessary.

I have a GraphQL server that provides data. Would it be possible to set up
Apache Drill to query that datasource? Do I need to create a new storage
plugin?

Kind regards

Glen Stokes

Re: Storage plugin for GraphQL

Posted by Charles Givre <cg...@gmail.com>.
I’d just like to chime in and say that I’d really love to see a Drill storage plugin that could directly query APIs.  Someone started this on github, but never completed it.  I think there could be some real value. (https://github.com/kevinlynx/drill-storage-http <https://github.com/kevinlynx/drill-storage-http>) 




> On Mar 17, 2018, at 20:31, Paul Rogers <pa...@yahoo.com.INVALID> wrote:
> 
> Cool indeed. This is trending back to the RPC style of messaging, using techniques that were used back in the dark ages with SOAP to send multiple messages, specify which fields to return and so on. Always fun to watch old stuff being rediscovered...
> Glen, you can write a storage plugin for Drill that does the work. As far as I know, no one has yet created one (nor has anyone created one for REST.) The trick is that Drill is schema free, so the plugin needs an ability to infer columns and types from the return message itself.
> Since you want to query another service, you'll want to write a "storage plugin." Doing so is non-trivial, but there are multiple examples in the Drill source to help you get started.
> Another choice for a storage plugin is to write something that will fire off an external program (such as a Python script) that will do the GraphQL calls, then translate the data into something Drill can easily digest (such as plain old JSON or CSV.) Again, that would have to be written, but would hide the API-specific details in code that Drill calls, rather than implementing the GraphQL client in Drill itself.
> Thanks,
> - Paul
> 
> 
> 
>    On Friday, March 16, 2018, 10:54:14 PM PDT, Saurabh Mahapatra <sa...@gmail.com> wrote:  
> 
> Its actually quite interesting, providing an alternative to REST:
> 
> http://graphql.org/
> 
> On Fri, Mar 16, 2018 at 4:02 PM, Kunal Khatua <ku...@apache.org> wrote:
> 
>>   What is the data format?
>> 
>> If you have a JDBC driver for that, you should be able to query it.
>> 
>> On 2/24/2018 9:01:43 PM, Bremner-Stokes, Glen <gs...@sciencelogic.com>
>> wrote:
>> Hello all,
>> 
>> Not sure if I am posting this correctly so please redirect me if necessary.
>> 
>> I have a GraphQL server that provides data. Would it be possible to set up
>> Apache Drill to query that datasource? Do I need to create a new storage
>> plugin?
>> 
>> Kind regards
>> 
>> Glen Stokes
>> 


Re: Storage plugin for GraphQL

Posted by Paul Rogers <pa...@yahoo.com.INVALID>.
Cool indeed. This is trending back to the RPC style of messaging, using techniques that were used back in the dark ages with SOAP to send multiple messages, specify which fields to return and so on. Always fun to watch old stuff being rediscovered...
Glen, you can write a storage plugin for Drill that does the work. As far as I know, no one has yet created one (nor has anyone created one for REST.) The trick is that Drill is schema free, so the plugin needs an ability to infer columns and types from the return message itself.
Since you want to query another service, you'll want to write a "storage plugin." Doing so is non-trivial, but there are multiple examples in the Drill source to help you get started.
Another choice for a storage plugin is to write something that will fire off an external program (such as a Python script) that will do the GraphQL calls, then translate the data into something Drill can easily digest (such as plain old JSON or CSV.) Again, that would have to be written, but would hide the API-specific details in code that Drill calls, rather than implementing the GraphQL client in Drill itself.
Thanks,
- Paul

 

    On Friday, March 16, 2018, 10:54:14 PM PDT, Saurabh Mahapatra <sa...@gmail.com> wrote:  
 
 Its actually quite interesting, providing an alternative to REST:

http://graphql.org/

On Fri, Mar 16, 2018 at 4:02 PM, Kunal Khatua <ku...@apache.org> wrote:

>  What is the data format?
>
> If you have a JDBC driver for that, you should be able to query it.
>
> On 2/24/2018 9:01:43 PM, Bremner-Stokes, Glen <gs...@sciencelogic.com>
> wrote:
> Hello all,
>
> Not sure if I am posting this correctly so please redirect me if necessary.
>
> I have a GraphQL server that provides data. Would it be possible to set up
> Apache Drill to query that datasource? Do I need to create a new storage
> plugin?
>
> Kind regards
>
> Glen Stokes
>
  

Re: Storage plugin for GraphQL

Posted by Saurabh Mahapatra <sa...@gmail.com>.
Its actually quite interesting, providing an alternative to REST:

http://graphql.org/

On Fri, Mar 16, 2018 at 4:02 PM, Kunal Khatua <ku...@apache.org> wrote:

>  What is the data format?
>
> If you have a JDBC driver for that, you should be able to query it.
>
> On 2/24/2018 9:01:43 PM, Bremner-Stokes, Glen <gs...@sciencelogic.com>
> wrote:
> Hello all,
>
> Not sure if I am posting this correctly so please redirect me if necessary.
>
> I have a GraphQL server that provides data. Would it be possible to set up
> Apache Drill to query that datasource? Do I need to create a new storage
> plugin?
>
> Kind regards
>
> Glen Stokes
>