2012-05-31 4 views
8

私はJavaでハイブでテーブルを作成しようとしています。私のコードを実行しながら、私はjava.sql.SQLException:ハイブのorg.apache.thrift.transport.TTransportException?

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);} 
} 

ですか。?

答えて

10

これは、ハイバーザーに問題があり、ハイブログを参照することを示す非常に一般的なエラーメッセージです。ハイブログにアクセスして例外呼び出しスタックを見つけると、根本的な原因を見つけることができます。または例外を共有すると、私はあなたを助けることができます。

私のように見ている

最も一般的な問題:あなたは$ハイブ--service yourhiveserverとしてハイブサーバを起動して稼働し、それを維持すると同時実行

  • に関連するメタストアで

    1. 問題数日後にコードを実行すると、接続がブローカーでサーバーに接続されている可能性があり、まったく同じエラーが発生します。サーバーに再接続すると、このエラーは消えてしまいます。これは、wait_timeが期限切れになり、切断が発生したためです。

    2. ポート固有のエラー

    は、あなたのハイブServerのオープンポートの設定は、必ずとハイブサーバを起動する前に、以下のように設定します。

    $export HIVE_PORT=10000 
    $hive --service hiveserver 
    $ _run_your_code 
    

    しかし、他の理由があるかもしれません最善の方法は、ハイブログ内のコールスタックを根本的にチェックして問題を解決することです。

  • +0

    メタストアの並行処理に関連する問題のヘルプはありますか? – Trent