3

redhat5 で hadoop-1.0.4 と hive-0.10.0 を使用しています。サービスが正常に開始されました。テーブルを簡単に作成、削除、選択できますが、データを挿入する方法がわかりません。

たとえば、2 つのテキスト ボックスがあり、ボタンをクリックすると、データをテーブル (userInfo) に保存したいとします。テキストボックスの値を userInfo(id,password) に保存する方法がわかりません。

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


try {
          Class.forName(driverName);
        } catch (ClassNotFoundException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
          System.exit(1);
        }
        Connection con = DriverManager.getConnection("jdbc:hive://localhost:10000/enggheads","", "");
        Statement stmt = con.createStatement();
        String tableName = "testHiveDriverTable";
        stmt.executeQuery("drop table " + tableName);
        ResultSet res = stmt.executeQuery("create table " + tableName + " (key int, value string)");
        // show tables
        String sql = "show tables '" + tableName + "'";
        System.out.println("Running: " + sql);
        res = stmt.executeQuery(sql);
        if (res.next()) {
          System.out.println(res.getString(1));
        }

Javaですが、Hiveの挿入がMySQLや他のデータベースの構文と違うので、2つのフィールド値を挿入する方法がわかりません。

4

1 に答える 1

1

以下のようにハイブにダミーテーブルを作成します

create table dummy(dummy string) location '/path';

上記のパスには、データを含むファイルがありますX

以下のように、jdbc ドライバーから挿入クエリを実行します。

insert into table tblname select forntendvalue1,frontendvalue2 from dual;
于 2013-06-07T11:39:40.740 に答える