我正在尝试使用java在hive中创建表.我发现
java.sql.sqlException:org.apache.thrift.transport.TTransportException
在执行我的代码时.
这是我的代码
public void createTable(String tableName) {
try{
Statement stat = con.createStatement();
String QueryString = "CREATE TABLE '"+tableName+"'(User_Id INTEGER NOT NULL AUTO_INCREMENT, " + "User_Name VARCHAR(25), UserId VARCHAR(20), User_Pwd VARCHAR(15), primary key(User_Id))";
a = stat.executeUpdate(QueryString);
if(a==1){
System.out.println(a);
System.out.println("Table has been created");
}
}catch(Exception e){
System.out.println(e);}
}
为什么抛出这个异常以及如何解决它.
解决方法:
这是一个非常通用的错误消息,描述了hiveserver出现问题并建议您查看Hive日志.如果您访问配置单元日志并找到异常调用堆栈,您可以找到根本原因,或者如果您共享异常,我可能会帮助您.
我见过的最常见的问题是:
>元存储与并发相关的问题
>当您启动配置单元作为$hive –service yourhiveserver并使其运行数天然后运行您的代码时,您的连接可能是服务器的代理,您将得到完全相同的错误.如果您重新连接到服务器,此错误将消失.这只是因为在一段时间后wait_time到期并发生断开连接.
>端口特定错误
在启动配置单元服务器之前,请确保为Hive Server设置一个打开的端口并将其设置如下:
$export HIVE_PORT=10000
$hive --service hiveserver
$_run_your_code
可能还有其他原因,但是最好的选择是检查配置单元日志中的调用堆栈以查找根本原因并解决问题.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。