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.