You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@drill.apache.org by luoc <lu...@apache.org> on 2021/11/05 13:45:55 UTC

Re: Start embedded Drill on JDBC connection


Hi Maksym,
Thanks for the idea. In your opinion, there is no longer need to extract the binary tar.gz, and start the Drillbit? Only import the Drill JDBC dependence into your pom file? If so, what is the lifecycle of embedded Drill?

> 在 2021年11月5日,21:06,Rumar, Maksym <ma...@hpe.com> 写道:
> 
> Hi all drill devs and users!
> 
> I have one thought about embedded Drill and would like to discuss it with you.
> Drill JDBC driver may start embedded Drill by self (if to make some machinations with dependencies) and I think that it is a very useful feature. With this opportunity, all people not familiar with Drill may try it in so convenient and simple way: add dependencies in pom and just write a few code lines of JDBC to make a test. This will leverage the level of entry to Drill and may make Drill more famous.
> 
> This feature is actually not supported for a now and blocked with a simple check<https://github.com/apache/drill/blob/4aefcef2b665c5737471664912a26ef6ed9a6cfc/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/DrillConnectionImpl.java#L109> in Drill JDBC code. What do you think about it? What if we add support for it and improve it by adding a convenient way for this case to set up storage plugins?
> 
> Regards,
> Maksym

Re: Відп.: Start embedded Drill on JDBC connection

Posted by luoc <lu...@apache.org>.
Hi Maksym,

There seem to be no objections to this practice. So, you can create a pull request and let's continue to talk about it in code.

> 2021年11月8日 下午8:50,Rumar, Maksym <ma...@hpe.com> 写道:
> 
> "just can't wrap my head around what the pom file would need to look like"
> ​Yea, good remark. It would be great if it was enough to use only jdbc-all jar, but it was created for another goal, so probably, it would be a bad idea, to add all necessary jars for embedded Drill into jdbc-all jar, as it should have only those jars that are needed for Drill JDBC driver.
> 
> Then, I see just a few ways that either has its cons and pros:
> 
>  1.   Create a module similar to jdbc-all, which will bundle all necessary dependencies for embedded Drill in one module. Then a user will have to add only 2 dependencies: jdbc, and "embedded-drill". This approach is pretty simple but requires creating one more module in Drill project.
>  2.  Another way, is to create tutorial which will have all necessary dependencies in its example pom, which users may copy-paste and use it for their tests. But this way is not user friendly and actually ruins the main idea - convenient and easy way to try Drill. But this approach has a chance to live and belongs on how many jars are needed to add to the user's pom file.
> 
> ________________________________
> Від: James Turton <ja...@somecomputer.xyz>
> Надіслано: 6 листопада 2021 р. 7:19
> Кому: dev@drill.apache.org <de...@drill.apache.org>; Rumar, Maksym <ma...@hpe.com>
> Тема: Re: Відп.: Start embedded Drill on JDBC connection
> 
> I like the idea, just can't wrap my head around what the pom file would
> need to look like.
> 
> On 2021/11/05 23:34, Rumar, Maksym wrote:
>> Yes, right. Only import the Drill JDBC dependence into the pom file. Embedded Drill could start on the step of establishing connection and end on the connection close.
>> 
>> I understand that it is too expensive operation, but it is need for simplifying of start up. With it, we may get 3 ways of bootstrapping Drill: embedded, standalone embedded and distributed. And each one has it's use cases.
>> ________________________________
>> Від: luoc <lu...@apache.org>
>> Надіслано: 5 листопада 2021 р. 15:45
>> Кому: dev@drill.apache.org <de...@drill.apache.org>
>> Тема: Re: Start embedded Drill on JDBC connection
>> 
>> 
>> Hi Maksym,
>> Thanks for the idea. In your opinion, there is no longer need to extract the binary tar.gz, and start the Drillbit? Only import the Drill JDBC dependence into your pom file? If so, what is the lifecycle of embedded Drill?
>> 
>>> 在 2021年11月5日,21:06,Rumar, Maksym <ma...@hpe.com> 写道:
>>> 
>>> Hi all drill devs and users!
>>> 
>>> I have one thought about embedded Drill and would like to discuss it with you.
>>> Drill JDBC driver may start embedded Drill by self (if to make some machinations with dependencies) and I think that it is a very useful feature. With this opportunity, all people not familiar with Drill may try it in so convenient and simple way: add dependencies in pom and just write a few code lines of JDBC to make a test. This will leverage the level of entry to Drill and may make Drill more famous.
>>> 
>>> This feature is actually not supported for a now and blocked with a simple check<https://github.com/apache/drill/blob/4aefcef2b665c5737471664912a26ef6ed9a6cfc/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/DrillConnectionImpl.java#L109> in Drill JDBC code. What do you think about it? What if we add support for it and improve it by adding a convenient way for this case to set up storage plugins?
>>> 
>>> Regards,
>>> Maksym
> 


Re: Відп.: Start embedded Drill on JDBC connection

Posted by "Rumar, Maksym" <ma...@hpe.com>.
"just can't wrap my head around what the pom file would need to look like"
​Yea, good remark. It would be great if it was enough to use only jdbc-all jar, but it was created for another goal, so probably, it would be a bad idea, to add all necessary jars for embedded Drill into jdbc-all jar, as it should have only those jars that are needed for Drill JDBC driver.

Then, I see just a few ways that either has its cons and pros:

  1.   Create a module similar to jdbc-all, which will bundle all necessary dependencies for embedded Drill in one module. Then a user will have to add only 2 dependencies: jdbc, and "embedded-drill". This approach is pretty simple but requires creating one more module in Drill project.
  2.  Another way, is to create tutorial which will have all necessary dependencies in its example pom, which users may copy-paste and use it for their tests. But this way is not user friendly and actually ruins the main idea - convenient and easy way to try Drill. But this approach has a chance to live and belongs on how many jars are needed to add to the user's pom file.

________________________________
Від: James Turton <ja...@somecomputer.xyz>
Надіслано: 6 листопада 2021 р. 7:19
Кому: dev@drill.apache.org <de...@drill.apache.org>; Rumar, Maksym <ma...@hpe.com>
Тема: Re: Відп.: Start embedded Drill on JDBC connection

I like the idea, just can't wrap my head around what the pom file would
need to look like.

On 2021/11/05 23:34, Rumar, Maksym wrote:
> Yes, right. Only import the Drill JDBC dependence into the pom file. Embedded Drill could start on the step of establishing connection and end on the connection close.
>
> I understand that it is too expensive operation, but it is need for simplifying of start up. With it, we may get 3 ways of bootstrapping Drill: embedded, standalone embedded and distributed. And each one has it's use cases.
> ________________________________
> Від: luoc <lu...@apache.org>
> Надіслано: 5 листопада 2021 р. 15:45
> Кому: dev@drill.apache.org <de...@drill.apache.org>
> Тема: Re: Start embedded Drill on JDBC connection
>
>
> Hi Maksym,
> Thanks for the idea. In your opinion, there is no longer need to extract the binary tar.gz, and start the Drillbit? Only import the Drill JDBC dependence into your pom file? If so, what is the lifecycle of embedded Drill?
>
>> 在 2021年11月5日,21:06,Rumar, Maksym <ma...@hpe.com> 写道:
>>
>> Hi all drill devs and users!
>>
>> I have one thought about embedded Drill and would like to discuss it with you.
>> Drill JDBC driver may start embedded Drill by self (if to make some machinations with dependencies) and I think that it is a very useful feature. With this opportunity, all people not familiar with Drill may try it in so convenient and simple way: add dependencies in pom and just write a few code lines of JDBC to make a test. This will leverage the level of entry to Drill and may make Drill more famous.
>>
>> This feature is actually not supported for a now and blocked with a simple check<https://github.com/apache/drill/blob/4aefcef2b665c5737471664912a26ef6ed9a6cfc/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/DrillConnectionImpl.java#L109> in Drill JDBC code. What do you think about it? What if we add support for it and improve it by adding a convenient way for this case to set up storage plugins?
>>
>> Regards,
>> Maksym


Re: Відп.: Start embedded Drill on JDBC connection

Posted by James Turton <ja...@somecomputer.xyz.INVALID>.
I like the idea, just can't wrap my head around what the pom file would 
need to look like.

On 2021/11/05 23:34, Rumar, Maksym wrote:
> Yes, right. Only import the Drill JDBC dependence into the pom file. Embedded Drill could start on the step of establishing connection and end on the connection close.
>
> I understand that it is too expensive operation, but it is need for simplifying of start up. With it, we may get 3 ways of bootstrapping Drill: embedded, standalone embedded and distributed. And each one has it's use cases.
> ________________________________
> Від: luoc <lu...@apache.org>
> Надіслано: 5 листопада 2021 р. 15:45
> Кому: dev@drill.apache.org <de...@drill.apache.org>
> Тема: Re: Start embedded Drill on JDBC connection
>
>
> Hi Maksym,
> Thanks for the idea. In your opinion, there is no longer need to extract the binary tar.gz, and start the Drillbit? Only import the Drill JDBC dependence into your pom file? If so, what is the lifecycle of embedded Drill?
>
>> 在 2021年11月5日,21:06,Rumar, Maksym <ma...@hpe.com> 写道:
>>
>> Hi all drill devs and users!
>>
>> I have one thought about embedded Drill and would like to discuss it with you.
>> Drill JDBC driver may start embedded Drill by self (if to make some machinations with dependencies) and I think that it is a very useful feature. With this opportunity, all people not familiar with Drill may try it in so convenient and simple way: add dependencies in pom and just write a few code lines of JDBC to make a test. This will leverage the level of entry to Drill and may make Drill more famous.
>>
>> This feature is actually not supported for a now and blocked with a simple check<https://github.com/apache/drill/blob/4aefcef2b665c5737471664912a26ef6ed9a6cfc/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/DrillConnectionImpl.java#L109> in Drill JDBC code. What do you think about it? What if we add support for it and improve it by adding a convenient way for this case to set up storage plugins?
>>
>> Regards,
>> Maksym


Відп.: Start embedded Drill on JDBC connection

Posted by "Rumar, Maksym" <ma...@hpe.com>.
Yes, right. Only import the Drill JDBC dependence into the pom file. Embedded Drill could start on the step of establishing connection and end on the connection close.

I understand that it is too expensive operation, but it is need for simplifying of start up. With it, we may get 3 ways of bootstrapping Drill: embedded, standalone embedded and distributed. And each one has it's use cases.
________________________________
Від: luoc <lu...@apache.org>
Надіслано: 5 листопада 2021 р. 15:45
Кому: dev@drill.apache.org <de...@drill.apache.org>
Тема: Re: Start embedded Drill on JDBC connection


Hi Maksym,
Thanks for the idea. In your opinion, there is no longer need to extract the binary tar.gz, and start the Drillbit? Only import the Drill JDBC dependence into your pom file? If so, what is the lifecycle of embedded Drill?

> 在 2021年11月5日,21:06,Rumar, Maksym <ma...@hpe.com> 写道:
>
> Hi all drill devs and users!
>
> I have one thought about embedded Drill and would like to discuss it with you.
> Drill JDBC driver may start embedded Drill by self (if to make some machinations with dependencies) and I think that it is a very useful feature. With this opportunity, all people not familiar with Drill may try it in so convenient and simple way: add dependencies in pom and just write a few code lines of JDBC to make a test. This will leverage the level of entry to Drill and may make Drill more famous.
>
> This feature is actually not supported for a now and blocked with a simple check<https://github.com/apache/drill/blob/4aefcef2b665c5737471664912a26ef6ed9a6cfc/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/DrillConnectionImpl.java#L109> in Drill JDBC code. What do you think about it? What if we add support for it and improve it by adding a convenient way for this case to set up storage plugins?
>
> Regards,
> Maksym