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.
>