2

我需要将 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 表中

4

2 回答 2

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();
于 2012-09-12T10:18:19.370 回答
2

我认为您的数据是 'tab : \t' 分隔的。您可以做的是,读取/解析映射器中的每一行并创建一个放置对象,然后将其传递给 hbase。

检查此链接: 以编程方式将数据批量加载到 HBase 的最快方法是什么?

于 2012-09-12T10:19:48.910 回答