使用MapReduce将CSV文件加载到Hbase表中

时间:2012-09-12 07:33:34

标签: java hadoop mapreduce hbase

我需要将csv文件的数据加载到hbase表中。我有以上格式的csv文件

Csv文件:阅读Detachcard.csv

year  class    days   mm   
   1964   9     20.5     8.8          
   1964  10     13.6     4.2      
   1964  11     11.8     4.7     
   1964  12      7.7     0.1       
   1965   1      7.3     0.8       
   1965   2     6.5     0.1         
   1965   3     10.8     1.4         
   1965   4     13.2     3.5         
   1965   5     16.1     7.0         
   1965   6     19.0     9.2          
   1965   7     18.7    10.7       
   1965   8     19.9    10.9          
   1965   9      16.6     8.2 

在上面的文件中,第一行的前一行是列限定符名称,第二行是列限定符的值。现在我需要使用mapreducing程序将这些数据加载到hbase表中。如何将此数据读入put命令和行自动增量?我不知道这种格式。请任何人指导我或向我展示一些样本以将此类数据加载到hbase表

2 个答案:

答案 0 :(得分:2)

使用csvreader,使用此jar操作csv文件非常容易。 找到csvreader jar并将其放入jre。

CsvReader products = new CsvReader("CSV file path ");

        products.readHeaders();

        while (products.readRecord())
        {
            String productID = products.get("year");
            String productName = products.get("class");
            String supplierID = products.get("day");
            String categoryID = products.get("mm");

        }

        products.close();

答案 1 :(得分:1)

我认为你的数据是'tab:\ t'分开了。 您可以做的是,读取/解析映射器中的每一行并创建一个put对象 然后把它传递给hbase。

检查此链接: What is the fastest way to bulk load data into HBase programmatically?