You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@phoenix.apache.org by Stepan Migunov <st...@firstlinesoftware.com> on 2018/05/22 08:16:17 UTC
Phoenix ODBC driver limitations
Hi,
Is the ODBC driver from Hortonworks the only way to access Phoenix from .NET code now?
The problem is that driver has some critical limitations - it seems, driver doesn't support Namespace Mapping (it couldn't be able to connect to Phoenix if phoenix.schema.isNamespaceMappingEnabled=true) and doesn't support query hints.
Regards,
Stepan.
Re: Phoenix ODBC driver limitations
Posted by Josh Elser <el...@apache.org>.
It's confusing with PQS in the mix :)
The original documentation meant client side (JDBC thick driver) and
server-side (HBase). With PQS in the mix, you'd need PQS and HBase (but
not client-side, guessing).
On 5/24/18 3:24 AM, Stepan Migunov wrote:
> Yes, I read this. But the document says "This needs to be set at client and
> server both". I've been confused - what is "client" in case of
> ODBC-connection. I supposed that driver, but it seems queryserver.
>
> -----Original Message-----
> From: Francis Chuang [mailto:francischuang@apache.org]
> Sent: Thursday, May 24, 2018 1:35 AM
> To: user@phoenix.apache.org
> Subject: Re: Phoenix ODBC driver limitations
>
> Namespace mapping is something you need to enable on the server (it's off by
> default).
>
> See documentation for enabling it here:
> http://phoenix.apache.org/namspace_mapping.html
>
> Francis
>
> On 24/05/2018 5:23 AM, Stepan Migunov wrote:
>> Thanks you for response, Josh!
>>
>> I got something like "Inconsistent namespace mapping properties" and
>> thought it was because it's impossible to set
>> "isNamespaceMappingEnabled" for the ODBC driver (client side). After
>> your explanation I understood that the "client" in this case is
>> queryserver but not ODBC driver. And now I need to check why queryserver
>> doesn't apply this property.
>>
>> -----Original Message-----
>> From: Josh Elser [mailto:elserj@apache.org]
>> Sent: Wednesday, May 23, 2018 6:52 PM
>> To: user@phoenix.apache.org
>> Subject: Re: Phoenix ODBC driver limitations
>>
>> I'd be surprised to hear that the ODBC driver would need to know
>> anything about namespace-mapping.
>>
>> Do you have an error? Steps to reproduce an issue which you see?
>>
>> The reason I am surprised is that namespace mapping is an
>> implementation detail of the JDBC driver which lives inside of PQS --
>> *not* the ODBC driver. The trivial thing you can check would be to
>> validate that the hbase-site.xml which PQS references is up to date
>> and that PQS was restarted to pick up the newest version of
>> hbase-site.xml
>>
>> On 5/22/18 4:16 AM, Stepan Migunov wrote:
>>> Hi,
>>>
>>> Is the ODBC driver from Hortonworks the only way to access Phoenix
>>> from .NET code now?
>>> The problem is that driver has some critical limitations - it seems,
>>> driver doesn't support Namespace Mapping (it couldn't be able to
>>> connect to Phoenix if phoenix.schema.isNamespaceMappingEnabled=true)
>>> and doesn't support query hints.
>>>
>>> Regards,
>>> Stepan.
>>>
RE: Phoenix ODBC driver limitations
Posted by Stepan Migunov <St...@firstlinesoftware.com>.
Yes, I read this. But the document says "This needs to be set at client and
server both". I've been confused - what is "client" in case of
ODBC-connection. I supposed that driver, but it seems queryserver.
-----Original Message-----
From: Francis Chuang [mailto:francischuang@apache.org]
Sent: Thursday, May 24, 2018 1:35 AM
To: user@phoenix.apache.org
Subject: Re: Phoenix ODBC driver limitations
Namespace mapping is something you need to enable on the server (it's off by
default).
See documentation for enabling it here:
http://phoenix.apache.org/namspace_mapping.html
Francis
On 24/05/2018 5:23 AM, Stepan Migunov wrote:
> Thanks you for response, Josh!
>
> I got something like "Inconsistent namespace mapping properties" and
> thought it was because it's impossible to set
> "isNamespaceMappingEnabled" for the ODBC driver (client side). After
> your explanation I understood that the "client" in this case is
> queryserver but not ODBC driver. And now I need to check why queryserver
> doesn't apply this property.
>
> -----Original Message-----
> From: Josh Elser [mailto:elserj@apache.org]
> Sent: Wednesday, May 23, 2018 6:52 PM
> To: user@phoenix.apache.org
> Subject: Re: Phoenix ODBC driver limitations
>
> I'd be surprised to hear that the ODBC driver would need to know
> anything about namespace-mapping.
>
> Do you have an error? Steps to reproduce an issue which you see?
>
> The reason I am surprised is that namespace mapping is an
> implementation detail of the JDBC driver which lives inside of PQS --
> *not* the ODBC driver. The trivial thing you can check would be to
> validate that the hbase-site.xml which PQS references is up to date
> and that PQS was restarted to pick up the newest version of
> hbase-site.xml
>
> On 5/22/18 4:16 AM, Stepan Migunov wrote:
>> Hi,
>>
>> Is the ODBC driver from Hortonworks the only way to access Phoenix
>> from .NET code now?
>> The problem is that driver has some critical limitations - it seems,
>> driver doesn't support Namespace Mapping (it couldn't be able to
>> connect to Phoenix if phoenix.schema.isNamespaceMappingEnabled=true)
>> and doesn't support query hints.
>>
>> Regards,
>> Stepan.
>>
Re: Phoenix ODBC driver limitations
Posted by Francis Chuang <fr...@apache.org>.
Namespace mapping is something you need to enable on the server (it's
off by default).
See documentation for enabling it here:
http://phoenix.apache.org/namspace_mapping.html
Francis
On 24/05/2018 5:23 AM, Stepan Migunov wrote:
> Thanks you for response, Josh!
>
> I got something like "Inconsistent namespace mapping properties" and thought
> it was because it's impossible to set "isNamespaceMappingEnabled" for the
> ODBC driver (client side). After your explanation I understood that the
> "client" in this case is queryserver but not ODBC driver. And now I need to
> check why queryserver doesn't apply this property.
>
> -----Original Message-----
> From: Josh Elser [mailto:elserj@apache.org]
> Sent: Wednesday, May 23, 2018 6:52 PM
> To: user@phoenix.apache.org
> Subject: Re: Phoenix ODBC driver limitations
>
> I'd be surprised to hear that the ODBC driver would need to know anything
> about namespace-mapping.
>
> Do you have an error? Steps to reproduce an issue which you see?
>
> The reason I am surprised is that namespace mapping is an implementation
> detail of the JDBC driver which lives inside of PQS -- *not* the ODBC
> driver. The trivial thing you can check would be to validate that the
> hbase-site.xml which PQS references is up to date and that PQS was restarted
> to pick up the newest version of hbase-site.xml
>
> On 5/22/18 4:16 AM, Stepan Migunov wrote:
>> Hi,
>>
>> Is the ODBC driver from Hortonworks the only way to access Phoenix from
>> .NET code now?
>> The problem is that driver has some critical limitations - it seems,
>> driver doesn't support Namespace Mapping (it couldn't be able to connect
>> to Phoenix if phoenix.schema.isNamespaceMappingEnabled=true) and doesn't
>> support query hints.
>>
>> Regards,
>> Stepan.
>>
RE: Phoenix ODBC driver limitations
Posted by Stepan Migunov <St...@firstlinesoftware.com>.
Thanks you for response, Josh!
I got something like "Inconsistent namespace mapping properties" and thought
it was because it's impossible to set "isNamespaceMappingEnabled" for the
ODBC driver (client side). After your explanation I understood that the
"client" in this case is queryserver but not ODBC driver. And now I need to
check why queryserver doesn't apply this property.
-----Original Message-----
From: Josh Elser [mailto:elserj@apache.org]
Sent: Wednesday, May 23, 2018 6:52 PM
To: user@phoenix.apache.org
Subject: Re: Phoenix ODBC driver limitations
I'd be surprised to hear that the ODBC driver would need to know anything
about namespace-mapping.
Do you have an error? Steps to reproduce an issue which you see?
The reason I am surprised is that namespace mapping is an implementation
detail of the JDBC driver which lives inside of PQS -- *not* the ODBC
driver. The trivial thing you can check would be to validate that the
hbase-site.xml which PQS references is up to date and that PQS was restarted
to pick up the newest version of hbase-site.xml
On 5/22/18 4:16 AM, Stepan Migunov wrote:
> Hi,
>
> Is the ODBC driver from Hortonworks the only way to access Phoenix from
> .NET code now?
> The problem is that driver has some critical limitations - it seems,
> driver doesn't support Namespace Mapping (it couldn't be able to connect
> to Phoenix if phoenix.schema.isNamespaceMappingEnabled=true) and doesn't
> support query hints.
>
> Regards,
> Stepan.
>
Re: Phoenix ODBC driver limitations
Posted by Josh Elser <el...@apache.org>.
I'd be surprised to hear that the ODBC driver would need to know
anything about namespace-mapping.
Do you have an error? Steps to reproduce an issue which you see?
The reason I am surprised is that namespace mapping is an implementation
detail of the JDBC driver which lives inside of PQS -- *not* the ODBC
driver. The trivial thing you can check would be to validate that the
hbase-site.xml which PQS references is up to date and that PQS was
restarted to pick up the newest version of hbase-site.xml
On 5/22/18 4:16 AM, Stepan Migunov wrote:
> Hi,
>
> Is the ODBC driver from Hortonworks the only way to access Phoenix from .NET code now?
> The problem is that driver has some critical limitations - it seems, driver doesn't support Namespace Mapping (it couldn't be able to connect to Phoenix if phoenix.schema.isNamespaceMappingEnabled=true) and doesn't support query hints.
>
> Regards,
> Stepan.
>
Re: Phoenix ODBC driver limitations
Posted by Francis Chuang <fr...@apache.org>.
Hey Stepan,
There is a driver called phoenix-sharp
(https://github.com/Azure/hdinsight-phoenix-sharp) from MS Azure. The
project has not been updated for a while though.
Francis
On 22/05/2018 6:16 PM, Stepan Migunov wrote:
> Hi,
>
> Is the ODBC driver from Hortonworks the only way to access Phoenix from .NET code now?
> The problem is that driver has some critical limitations - it seems, driver doesn't support Namespace Mapping (it couldn't be able to connect to Phoenix if phoenix.schema.isNamespaceMappingEnabled=true) and doesn't support query hints.
>
> Regards,
> Stepan.