我需要将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表
答案 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?