У меня есть работа над Hadoop/hive. У меня есть hasoop и улей, который работает отлично в командной строке. i также создали мета-хранилище MySQL hive. Я определил имя базы данных HIVE-DB в файле hive-site.xml. Та же самая база данных доступна в MySQL> HIVE-DB. Но таблица, которая создается в командной строке hive, недоступна в команде mysql Prompt. И когда я хочу, чтобы создать то улей соединений JDBC получить следующие error..First это моя программа для создания соединений JDBC
package aa;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class Main
{
private static String driverName = "org.apache.hadoop.hive.jdbc.HiveDriver";
public static void main(String args[])
{
try {
Class.forName(driverName);
}
catch (ClassNotFoundException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
System.exit(1);
}
try
{
Connection con = DriverManager.getConnection("jdbc:hive://localhost:10001/default", "", "");
Statement stmt = con.createStatement();
String tableName = "recordssss";
stmt.executeQuery("create table"+tableName+"(id int,name string)");
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
and then following error is display... because i have start hive as a hive server i.e
**$HIVE_HOME/bin/hive --service hiveserver -p 10001**
xception in thread "main" java.lang.NoSuchMethodError: org.apache.hadoop.hive.service.ThriftHive$Client.sendBase(Ljava/lang/String;Lorg/apache/thrift/TBase;)V
at org.apache.hadoop.hive.service.ThriftHive$Client.send_execute(ThriftHive.java:110)
at org.apache.hadoop.hive.service.ThriftHive$Client.execute(ThriftHive.java:102)
at org.apache.hadoop.hive.jdbc.HiveStatement.executeQuery(HiveStatement.java:187)
at org.apache.hadoop.hive.jdbc.HiveStatement.execute(HiveStatement.java:127)
at org.apache.hadoop.hive.jdbc.HiveConnection.configureConnection(HiveConnection.java:126)
at org.apache.hadoop.hive.jdbc.HiveConnection.<init>(HiveConnection.java:121)
at org.apache.hadoop.hive.jdbc.HiveDriver.connect(HiveDriver.java:104)
at java.sql.DriverManager.getConnection(DriverManager.java:620)
at java.sql.DriverManager.getConnection(DriverManager.java:200)
at aa.Main.main(Main.java:25)
enter code here
so pls help me i have describe the problem to you so pls dear anyone help me
У меня есть версия улья 0.10 и версия hadoop 1.1.2 все файлы jar в eclipse имеют 0.10 –
commons-logging-1.1.3.jar, hadoop-core-1.1.2.jar, hive-exec-0.10.0 .jar, улья-0.10.0.jar JDBC, улей-metastore-0.10.0.jar, улей-сервис-0.10.0.jar, libfb303.jar, SLF4J-апи-1.6.1.jar, SLF4J-log4j12 -1.6.1.jar, log4j-1.2.16.jar это все jar, которые я вставляю в проект lib ... –
@Charnjeet Я думаю, что дистрибутив hive-0.10.0 содержит libfb303-0.9.0.jar. Используйте libfb303-0.9.0.jar вместо libfb303.jar, а также libthrift-0.9.0.jar, а также от HIVE_HOME/lib. У меня такое чувство, что проблема заключается в этих двух баночках (libthrift-0.9.0.jar и libfb303.jar). Поиграйте с этими двумя баночками, надеюсь, это сделает трюк. Удачи !!! – nJn