2

I am new to Hadoop and Hive as well. I am trying to connect to Hive from Java by creating Java project and by adding all below required libraries

$HIVE_HOME/lib/*.jar
$HADOOP_HOME/share/hadoop/mapreduce/*.jar
$HADOOP_HOME/share/hadoop/common/*.jar

And below is my sample code to connect Hive database.

package com.stpl.hive.jdbc;

import java.sql.SQLException;
import java.sql.Connection;
import java.sql.Statement;
import java.sql.DriverManager;

public class HiveSample {

    //private static String driverName = "org.apache.hadoop.hive.jdbc.HiveDriver";
private static String driverName = "org.apache.hive.jdbc.HiveDriver";

    public static void main(String[] args) throws SQLException,
            ClassNotFoundException {
        // Register driver and create driver instance
        Class.forName(driverName);
        // get connection
        Connection con = DriverManager.getConnection(
                "jdbc:hive2://localhost:10000/default", "", "");
        Statement stmt = con.createStatement();
        stmt.execute("CREATE DATABASE newdatabase");
        System.out.println("Database userdb created successwdbfully.");
        con.close();
    }
}

While running i am getting below error

Exception in thread "main" java.lang.NoClassDefFoundError: Could not initialize class org.apache.derby.jdbc.AutoloadedDriver40
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:348)
    at java.sql.DriverManager.isDriverAllowed(DriverManager.java:556)
    at java.sql.DriverManager.getConnection(DriverManager.java:661)
    at java.sql.DriverManager.getConnection(DriverManager.java:247)
    at com.stpl.hive.jdbc.HiveSample.main(HiveSample.java:18)

Am I missing any other jars to add in project? Please help me to solve this error. And i am using Hive 2.3.2 version. Please ask me if any other details required to solve it.

Ravi
  • 30,829
  • 42
  • 119
  • 173
Tharunkumar Reddy
  • 2,773
  • 18
  • 32

1 Answers1

0

java.lang.NoClassDefFoundError occurs when definition of class doesn't exist at runtime.

Could not initialize class org.apache.derby.jdbc.AutoloadedDriver40

It seems you are missing driver library for derby, which may get resolved by including derby-10.5.3.0.jar.

Ravi
  • 30,829
  • 42
  • 119
  • 173