Support Questions
Find answers, ask questions, and share your expertise
Announcements
Alert: Welcome to the Unified Cloudera Community. Former HCC members be sure to read and learn how to activate your account here.

Phoenix ODBC

Phoenix ODBC

Has anyone tried the recently release phoenix ODBC driver and if so any thoughts on that. any specific issues faced?

http://hortonworks.com/wp-content/uploads/2016/08/phoenix-ODBC-guide.pdf

9 REPLIES 9
Highlighted

Re: Phoenix ODBC

@ARUN

I have tried it, I don't see any issue untill today.

Re: Phoenix ODBC

Care to share what kind of issue you ran into?

Re: Phoenix ODBC

I have played around with the ODBC driver locally and had good success with it.

Re: Phoenix ODBC

@Josh Elser

, @SBandaru Thanks for your comment. did any one of you try using informatica with phoenix Or can you share what is the usecase for you to use phoenix odbc.

Re: Phoenix ODBC

New Contributor

Hi Arun,

I have encountered some problems. Here is my setup:

I have a 6 worket HDP 2.5.3. I have created the CORP.tables and data and tested through DBVisualizer (pheonix-thin) and Zeppelin notebook. Queries against the tables work just fine.

Windows Server 2012 R2 on VM-ware Fusion with Tableau Desktop 10. I place the tableau.tdc file in the Current User\Documents\My Tableau Repository\Datasources as per instructions.

  • ODBC DNS test woks fine
  • In Tableau I was able to a connection based on the Phoenix ODBC and join the 4 tables: fact + dimensions
  • In a new sheet I double click on any measure - query executes OK.
  • Double click on any dimension and get a query error.
SELECT "PRODUCT"."PRODUCT_CLASS_ID" AS "PRODUCT_CLASS_ID"
FROM "CORP"."CUSTOMER" "CUSTOMER"
  INNER JOIN "CORP"."FACT_SALES" "FACT_SALES" ON ("CUSTOMER"."CUSTOMER_ID" = "FACT_SALES"."CUSTOMER_ID")
  INNER JOIN "CORP"."PRODUCT" "PRODUCT" ON ("FACT_SALES"."PRODUCT_ID" = "PRODUCT"."PRODUCT_ID")
  INNER JOIN "CORP"."STORE" "STORE" ON ("FACT_SALES"."STORE_ID" = "STORE"."STORE_ID")
GROUP BY "PRODUCT_CLASS_ID"
  • I take the same query to the Zeppelin notebook and I get:
  • ERROR 502 (42702): Column reference ambiguous or duplicate names. columnName=PRODUCT_CLASS_ID
    class org.apache.phoenix.schema.AmbiguousColumnException...
  • If I remove
    AS "PRODUCT_CLASS_ID"

Query runs fine.

Any thoughts?

Re: Phoenix ODBC

New Contributor

I found the problem. Somehow the tableau .tdc file was corrupt. I replace its content with the XML from the Git repo and everything works fine. Quite excited - response times on a 10mil file are very good (if properly indexed :).

Thanks.

Re: Phoenix ODBC

New Contributor

Hi Arun,

There is a problem when proxying the ODBC traffic through Knox to the PQS. The PQS fails to parse the request because the http request coming out of ODBC is not urlencoded, but the content is urlencoded after Knox.

After tracing all the calls, it seems that it is caused by ODBC driver sending out Avatica Http request with content-type set to "application/x-www-form-urlencoded”, even though the content is NOT urlencoded at all. But, when the request passes through Knox, it comes out as urlencoded.

The PQS seems not able to parse urlencoded content. It seems to take the input as it is for both Protobuf and JSON.

In comparison, the jdbc thin driver sends out http request with content-type “application/octet-stream” which seems more appropriate.

Is there any way to change the content type of ODBC driver to use content type “application/octet-stream” instead since the content is not urlencoded?

Thanks.

Re: Phoenix ODBC

New Contributor

@hong Yu

able to connect but the tables listed in hbase are not visible other than System.

could you please let me know if something doing wrong.

Re: Phoenix ODBC

New Contributor

This driver is totally useless for inserts. It does not support batch upserts. JDBC driver supports batch upserts either via batchUpsert for series of upserts followed by commit.