You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Aras, Hidir" <Hi...@fiz-Karlsruhe.de> on 2018/01/24 15:59:12 UTC

Phoenix JDBC client connection settings

Dear phoenix developers,

I would like to hint at an issue related to the configuration of the phoenix JDBC driver for clients (not thin-client!). Currently, client-side connection properties can only be set in Java code, like this:

             Connection conn = null;
             try {
                    Properties props = new Properties();
                    props.setProperty("phoenix.functions.allowUserDefinedFunctions",
                                 "true");
                    Class.forName("org.apache.phoenix.jdbc.PhoenixDriver");
                    conn = DriverManager.getConnection(
                                 "jdbc:phoenix:tdm-p-nn01:2181:/hbase-unsecure", props);

             } catch (Exception e) {
                    e.printStackTrace();
                    LOGGER.error("error occurs " + e.getMessage());
             }

In order to be integrated into 3rd party client applications that just need to
integrate the jdbc driver and establish a connection via the URI, it is  to my knowledge not possible to set
the client connection settings like:

jdbc:phoenix:<nn-host>:2181:/hbase-unsecure; phoenix.functions.allowUserDefinedFunctions; phoenix.query.timeoutMs=1800000; ...

Also, I don't see any other option to set the client connection settings, e.g. for enabling phoenix user-defined functions in 3rd party client applications like logstash, etc.

I would much appreciate any workaround or hint for resolving this problem ... in particular for enabling udfs in 3rd party jdbc clients.

Thanks and best regards,
Hidir







Re: Phoenix JDBC client connection settings

Posted by Josh Elser <jo...@gmail.com>.
Hi Hidir,

In most (maybe all) cases, Phoenix (thick) driver configuration 
properties can also be picked up off of the classpath via hbase-site.xml.

For tools that allow you to specify additional classpath elements, you 
can add the directory containing hbase-site.xml with your configuration 
properties set. For tools that do not let you do this, you can add a 
copy of hbase-site.xml to the phoenix-client.jar itself.

I would agree that being able to specify properties like this in the URL 
would be nice. You would have my blessing to implement such an 
improvement :)

On 1/24/18 10:59 AM, Aras, Hidir wrote:
> Dear phoenix developers,
> 
> I would like to hint at an issue related to the configuration of the 
> phoenix JDBC driver for clients (not thin-client!). Currently, 
> client-side connection properties can only be set in Java code, like this:
> 
>               Connection conn= *null*;
> 
> *try*{
> 
>                      Properties props= *new*Properties();
> 
> props.setProperty("phoenix.functions.allowUserDefinedFunctions",
> 
> "true");
> 
>                      
> Class./forName/("org.apache.phoenix.jdbc.PhoenixDriver");
> 
> conn= DriverManager./getConnection/(
> 
> "jdbc:phoenix:tdm-p-nn01:2181:/hbase-unsecure", props);
> 
>               } *catch*(Exception e) {
> 
> e.printStackTrace();
> 
> */LOGGER/*.error("error occurs "+ e.getMessage());
> 
> }
> 
> In order to be integrated into 3^rd party client applications that just 
> need to
> 
> integrate the jdbc driver and establish a connection via the URI, it is 
>   to my knowledge not possible to set
> 
> the client connection settings like:
> 
> jdbc:phoenix:<nn-host>:2181:/hbase-unsecure; 
> phoenix.functions.allowUserDefinedFunctions; 
> phoenix.query.timeoutMs=1800000; …
> 
> Also, I don’t see any other option to set the client connection 
> settings, e.g. for enabling phoenix user-defined functions in 3^rd party 
> client applications like logstash, etc.
> 
> I would much appreciate any workaround or hint for resolving this 
> problem … in particular for enabling udfs in 3^rd party jdbc clients.
> 
> Thanks and best regards,
> 
> Hidir
> 
> 
> 
> ------------------------------------------------------------------------
> 
> FIZ Karlsruhe - Leibniz-Institut für Informationsinfrastruktur GmbH.
> Sitz der Gesellschaft: Eggenstein-Leopoldshafen, Amtsgericht Mannheim 
> HRB 101892.
> Geschäftsführerin: Sabine Brünger-Weilandt.
> Vorsitzender des Aufsichtsrats: MinDirig Dr. Stefan Luther.
>