2012-04-27 42 views
1

如何將任何格式的數據(如:json,xml等)加載到hbase表中?是否有任何特定的輸出格式可以在job config(java)中設置,以便任何數據形式可以加載到hbase中,或者是否有可以在內部將任何形式的數據加載到hbase的應用程序?將數據加載到hbase中

回答

2

您插入到HBase表的數據應該以字節爲單位。因此,即使它使用XML或JSON,也應該將其轉換爲字節。從hbase表中檢索數據時應該應用反向邏輯。包含轉換邏輯的Utility類將完成這項工作。

0

當你想要在HBase中存儲數據時,你需要做一些額外的選擇,它不僅僅是一個文件。比如你需要確定關鍵是什麼,你需要什麼樣的列族,他們的特徵(例如壓縮,使用TTL等),如果你把所有的輸入存儲在一個列中,或者你解析它並將片段存儲在不同的列中列。

這意味着您必須在存儲數據之前進行一些處理,而不僅僅是作業配置。

這就是說,當你想創建一個將寫入HBase的工作,你可以告訴它表/表通過TableMapReduceUtil 參與爲:

Job job = new Job(conf, "My Job"); 
    job.setJarByClass(Mymapred.class); 

    Scan scan = new Scan(); 
    // set the scan parameters .. 

    TableMapReduceUtil.initTableMapperJob(
      INPUT_TABLE_NAME, 
      scan, 
      MyMapper.class,Text.class,Result.class, 
      job); 

    TableMapReduceUtil.initTableReducerJob(
      OUTPUT_TABLE_NAME, 
      MyReducer.class, 
      job);