Support Questions

Find answers, ask questions, and share your expertise

%jdbc(hive) prefix not found in Zeppelin

avatar

I am going through the following lab:

http://hortonworks.com/hadoop-tutorial/hello-world-an-introduction-to-hadoop-hcatalog-hive-and-pig/#...

and in paragraph 6.2 (execute a hive query) I am trying to run the following code in Zeppelin: %jbdc(hive) SELECT * FROM riskfactor

When I execute this code I run into the error "prefix not found". What am I doing wrong here. This seems pretty straightforward.

Regards,

Robbert

1 ACCEPTED SOLUTION

avatar

Make sure you are running the latest HDP 2.5 Sandbox. I've just tested it and I had no "prefix not found" related issues.

View solution in original post

16 REPLIES 16

avatar
Super Collaborator

@Robbert Naastepad, could it be the case that the interpreter is not enabled/selected for use in the notebook? See "Configuring a Zeppelin Interpreter" at http://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.5.0/bk_zeppelin-component-guide/content/using-in....

avatar

Make sure you are running the latest HDP 2.5 Sandbox. I've just tested it and I had no "prefix not found" related issues.

avatar
Super Collaborator

There is a typo in the code, please change from %jbdc(hive) to %jdbc(hive). Further, for riskfactor table issue can you please drop the riskfactor table first and then recreate it using CTAS. Run the following commands:

%hive

drop table riskfactor

In another paragraph,

%spark

hiveContext.sql("create table riskfactor as select * from finalresults")

avatar
Contributor

With HDP 2.5 we need to use the jdbc connectors instead of the %sql or hive.

However we had to do the following prior to getting this to work.

in /usr/hdp/current/zeppelin-server/interpreter/jdbc either copy the hive, hadoop and phoenix jars or create soft links for the same

Since all the sample notebooks use the %sql or %hive they would not work.

you will need to use %jdbc(phoenix) or %jdbc(hive) as appropriate.

Once you do this restart the jdbc interpreter

>pwd
/usr/hdp/current/zeppelin-server/interpreter/jdbc 
> ls -l
hive-jdbc.jar -> /usr/hdp/current/hive-client/lib/hive-jdbc-1.2.1000.2.5.0.0-1245-standalone.jar
hadoop-common.jar -> /usr/hdp/current/hadoop-client/hadoop-common-2.7.3.2.5.0.0-1245.jar
phoenix-core-4.7.0.2.5.0.0-1245.jar /usr/hdp/current/phoenix-client/lib/phoenix-core-4.7.0.2.5.0.0-1245.jar

avatar
New Contributor

After banging my head against the wall for a while now, Ash's answer was the one I was looking for.

I didn't necessarily get a "%jdbc(hive) prefix not found in Zeppelin". In Zeppelin I got a nondescript error and the logs complaining about java.lang.NoSuchMethodError.

After creating these soft links it worked fine!

avatar
Contributor

really helpful @Ash!

Thanks a lot !

avatar
New Contributor

@Greg,

i am trying to execute mysql queries, got error prefix not found. when i verified in mysql note there i observer mysql is there instead of %mysql. But unable to add % before mysql, its not editable. can u please help me how can i edit.

79440-mysql.png