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 

上記のファイルでは、一番上の最初の行は列修飾子の名前で、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

あなたのデータは「タブ:\ t」で区切られていると思います。できることは、マッパーの各行を読み取り/解析し、put オブジェクトを作成してから hbase に渡すことです。

このリンクを確認してください: HBase にデータをプログラムで一括ロードする最速の方法は何ですか?

于 2012-09-12T10:19:48.910 に答える