在以下程序中获取断开的管道错误 import java.util.List; 导入org.apache.hadoop.hive.service.HiveServerException; 导入org.apache.hadoop.hive.service.ThriftHive; 导入org.apache.hadoop.hive.service.ThriftHive.Client; 导入org.apache.thrift.TException; 导入org.apache.thrift.protocol.TBinaryProtocol; 导入org.apache.thrift.transport.TSocket; 公共类蜂巢演示02{ /** *@param args */ 静态TSocket传输; 静态客户端=空; 专用静态客户端getClient(字符串hiveServer、整数hivePort) { 最终整数部分大数=999993; 试一试{ 传输=新的TSocket(hiveServer、hivePort); transport.setTimeout(一些大数字); transport.open(); TBinaryProtocol协议=新的TBinaryProtocol(传输); 客户端=新的ThriftHive.client(协议); System.out.println(“连接已建立”); 返回客户; } 捕获(例外e){ e、 printStackTrace(); 返回null; } } } 专用void show_数据库(客户端c1) { 如果(c1!=null) { 试一试{ 试一试{ c1.执行(“显示数据库;”; }捕获(特克斯){ //TODO自动生成的捕捉块 e、 printStackTrace(); } 列表li=null; 系统输出打印号(“hai”); 试一试{ li=c1.fetchAll(); 系统输出println(li); 系统输出打印号(“hai”); }捕获(特克斯){ //TODO自动生成的捕捉块 e、 printStackTrace(); } System.out.println(“***数据库列表***”); for(字符串:li){ System.out.println(字符串); } System.out.println(“-------------------------------------”); 客户c2=c1; } 最后{ } } } 专用void创建_数据库(客户端c1) { 试一试{ c1.执行(“创建数据库,如果不存在jdbc_demo”); }捕获(HiveServer异常){ //TODO自动生成的捕捉块 e、 printStackTrace(); }捕获(特克斯){ //TODO自动生成的捕捉块 e、 printStackTrace(); } System.out.println(“***创建了jdbc_演示数据库***”); System.out.println(“-------------------------------------”); 客户c2=c1; } 私有void use_数据库(客户端c1,字符串db_名称) { 试一试{ c1.执行(“使用”+db_名称); }捕获(HiveServer异常){ //TODO自动生成的捕捉块 e、 printStackTrace(); }捕获(特克斯){ //TODO自动生成的捕捉块 e、 printStackTrace(); } System.out.println(“***将数据库更改为”+db\u name+“***”); System.out.println(“-------------------------------------”); 客户c2=c1; //返回c2; } 公共静态void main(字符串[]args){ //TODO自动生成的方法存根 字符串HIVE_SERVER=“localhost”; 整数配置单元端口=新整数(54310); Client Client=getClient(配置单元服务器、配置单元端口); Hive_demo_02 obj=新的Hive_demo_02(); 对象显示数据库(客户端); System.out.println(“在创建数据库jdbc_演示之前”); 对象创建_数据库(客户端); System.out.println(“创建数据库jdbc_demo之后”); 对象显示数据库(客户端); System.out.println(“更改为jdbc_演示数据库”); obj.使用_数据库(客户端,“jdbc_演示”); transport.close(); } }

在以下程序中获取断开的管道错误 import java.util.List; 导入org.apache.hadoop.hive.service.HiveServerException; 导入org.apache.hadoop.hive.service.ThriftHive; 导入org.apache.hadoop.hive.service.ThriftHive.Client; 导入org.apache.thrift.TException; 导入org.apache.thrift.protocol.TBinaryProtocol; 导入org.apache.thrift.transport.TSocket; 公共类蜂巢演示02{ /** *@param args */ 静态TSocket传输; 静态客户端=空; 专用静态客户端getClient(字符串hiveServer、整数hivePort) { 最终整数部分大数=999993; 试一试{ 传输=新的TSocket(hiveServer、hivePort); transport.setTimeout(一些大数字); transport.open(); TBinaryProtocol协议=新的TBinaryProtocol(传输); 客户端=新的ThriftHive.client(协议); System.out.println(“连接已建立”); 返回客户; } 捕获(例外e){ e、 printStackTrace(); 返回null; } } } 专用void show_数据库(客户端c1) { 如果(c1!=null) { 试一试{ 试一试{ c1.执行(“显示数据库;”; }捕获(特克斯){ //TODO自动生成的捕捉块 e、 printStackTrace(); } 列表li=null; 系统输出打印号(“hai”); 试一试{ li=c1.fetchAll(); 系统输出println(li); 系统输出打印号(“hai”); }捕获(特克斯){ //TODO自动生成的捕捉块 e、 printStackTrace(); } System.out.println(“***数据库列表***”); for(字符串:li){ System.out.println(字符串); } System.out.println(“-------------------------------------”); 客户c2=c1; } 最后{ } } } 专用void创建_数据库(客户端c1) { 试一试{ c1.执行(“创建数据库,如果不存在jdbc_demo”); }捕获(HiveServer异常){ //TODO自动生成的捕捉块 e、 printStackTrace(); }捕获(特克斯){ //TODO自动生成的捕捉块 e、 printStackTrace(); } System.out.println(“***创建了jdbc_演示数据库***”); System.out.println(“-------------------------------------”); 客户c2=c1; } 私有void use_数据库(客户端c1,字符串db_名称) { 试一试{ c1.执行(“使用”+db_名称); }捕获(HiveServer异常){ //TODO自动生成的捕捉块 e、 printStackTrace(); }捕获(特克斯){ //TODO自动生成的捕捉块 e、 printStackTrace(); } System.out.println(“***将数据库更改为”+db\u name+“***”); System.out.println(“-------------------------------------”); 客户c2=c1; //返回c2; } 公共静态void main(字符串[]args){ //TODO自动生成的方法存根 字符串HIVE_SERVER=“localhost”; 整数配置单元端口=新整数(54310); Client Client=getClient(配置单元服务器、配置单元端口); Hive_demo_02 obj=新的Hive_demo_02(); 对象显示数据库(客户端); System.out.println(“在创建数据库jdbc_演示之前”); 对象创建_数据库(客户端); System.out.println(“创建数据库jdbc_demo之后”); 对象显示数据库(客户端); System.out.println(“更改为jdbc_演示数据库”); obj.使用_数据库(客户端,“jdbc_演示”); transport.close(); } },java,hive,Java,Hive,我在此程序中遇到断开的管道插座异常。有人能帮我吗?我找到了解决办法。将端口号设置为 导出配置单元\u端口=10000 然后使用启动配置单元服务器 /hive——服务hiveserver由于没有缩进,很难理解程序在做什么。另外,请为潜在的回答者提供更多帮助。这个程序应该做什么?它怎么会失败呢?您尝试了什么,结果如何?它正在尝试连接到配置单元服务器,并尝试在配置单元中创建、显示和更改数据库。 import java.util.List; import org.apache.hadoop.hi

我在此程序中遇到断开的管道插座异常。有人能帮我吗?

我找到了解决办法。将端口号设置为 导出配置单元\u端口=10000 然后使用启动配置单元服务器
/hive——服务hiveserver

由于没有缩进,很难理解程序在做什么。另外,请为潜在的回答者提供更多帮助。这个程序应该做什么?它怎么会失败呢?您尝试了什么,结果如何?它正在尝试连接到配置单元服务器,并尝试在配置单元中创建、显示和更改数据库。
import java.util.List;    
import org.apache.hadoop.hive.service.HiveServerException;    
import org.apache.hadoop.hive.service.ThriftHive;    
import org.apache.hadoop.hive.service.ThriftHive.Client;    
import org.apache.thrift.TException;    
import org.apache.thrift.protocol.TBinaryProtocol;    
import org.apache.thrift.transport.TSocket;    
public class Hive_demo_02 {
/**
* @param args
*/
static TSocket transport;

static Client client=null;

private static Client getClient(String hiveServer, Integer hivePort)    
{

  final int SOME_BIG_NUMBER = 999999993;    
    try {
        transport = new TSocket(hiveServer, hivePort);    
    transport.setTimeout(SOME_BIG_NUMBER);    
    transport.open();    
    TBinaryProtocol protocol = new TBinaryProtocol(transport);    
    client = new ThriftHive.Client(protocol);    
    System.out.println("Connection is established");    
    return client;    
    }    
    catch (Exception e) {    
    e.printStackTrace();    
    return null;    
    }    
    }

}
private void show_databases(Client c1)

{

    if(c1!=null)

    {

try {

try {

    c1.execute("show databases;");

} catch (TException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

List<String> li = null;

System.out.println("hai");

try {

li = c1.fetchAll();

System.out.println(li);

System.out.println("hai");

} catch (TException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

System.out.println(" *** The Databases List *** ");

for (String string : li) {

System.out.println(string);

}

System.out.println(" -------------------------------- ");

Client c2=c1;

}
finally{

}

    }

}

private void create_databases(Client c1)

{

try {

c1.execute("create database IF NOT EXISTS jdbc_demo");

} catch (HiveServerException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (TException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

System.out.println(" *** jdbc_demo Databases is created *** ");

System.out.println(" -------------------------------- ");

Client c2=c1;

}

private void use_databases(Client c1,String db_name)

{

try {

c1.execute("use "+db_name);

} catch (HiveServerException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (TException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

System.out.println(" *** Changed Database to "+db_name+" *** ");

System.out.println(" -------------------------------- ");

Client c2=c1;

//return c2;

}

public static void main(String[] args) {

// TODO Auto-generated method stub

String HIVE_SERVER = "localhost";

Integer HIVE_PORT = new Integer(54310);

Client client = getClient(HIVE_SERVER, HIVE_PORT);

Hive_demo_02 obj=new Hive_demo_02();

obj.show_databases(client);

System.out.println(" Before Creating the Database jdbc_demo ");

obj.create_databases(client);

System.out.println(" After Creating the Database jdbc_demo ");

obj.show_databases(client);

System.out.println(" Changing to jdbc_demo Database ");

obj.use_databases(client,"jdbc_demo");

transport.close();

}

}