2012-10-09 6 views
0

Flume-NG 1.3.0과 함께 사용하기 위해 사용자 정의 HbaseSink를 작성 중이며 동일한 행에 여러 열 패밀리가있는 org.hbase.async.PutRequest를 수행해야합니다. 나는 Put.add (columnFamily, columnName, value)와 비슷한 생성자 나 비슷한 것을 보지 못했다. 이 일을 어떻게해야하는지 누군가가 밝혀 줄 수 있습니까? 미리 감사드립니다!PutRequest가있는 다중 열 패밀리

+0

현재 나의 생각은 두 개의 요청으로 분할하는 것입니다. 더 좋은 방법이 있는지 궁금합니다. – BZapper

답변

0

또한이 문제에 대한 해결책을 찾으려고했지만 참조를 찾을 수 없습니다. 그래서 여기 내가

`

public void addRecord(String tableName, String rowKey, String family, HashMap<String, String> hash) { 
     try { 
      HTable table = new HTable(conf, tableName); 
      Put put = new Put(Bytes.toBytes(rowKey)); 

      Iterator<String> it = hash.keySet().iterator(); 
      while (it.hasNext()) { 
       String key = it.next(); 
       String val = hash.get(key); 
       put.add(Bytes.toBytes(family), Bytes.toBytes(key), Bytes.toBytes(val)); 
      } 
      table.put(put); 

     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } 

`

여기에 내 응용 프로그램에서 한, HashMap의 해시 열 이름과 값을 포함하는 것입니다.