将csv数据加载到Hbase中

bjo*_*ern 9 hadoop hbase

我是hadoop和hbase的新手,并且在我发现的每个教程中都有一些概念性的问题让我感到沮丧.

我在win 7系统上的ubuntu VM中的单个节点上运行hadoop和hbase.我有一个csv文件,我想加载到一个单独的hbase表.

列是:loan_number,borrower_name,current_distribution_date,loan_amount

我知道我需要写一个MapReduce作业来将这个csv文件加载到hbase中.以下教程描述了编写此MapReduce作业所需的Java. http://salsahpc.indiana.edu/ScienceCloud/hbase_hands_on_1.htm

我缺少的是:

我在哪里保存这些文件以及在哪里编译它们?我应该在运行visual studio 12的win 7机器上编译它,然后将它移动到ubuntu vm吗?

我读了这个问题和答案,但我想我仍然缺少基础知识:使用MapReduce将CSV文件加载到Hbase表中

我找不到涵盖这些基本hadoop/hbase物流的任何内容.任何帮助将不胜感激.

Die*_*ino 15

无需编写MapReduce作业代码即可将数据批量加载到HBase中.有几种方法可以将数据批量加载到HBase中:

1)使用HBase工具importtsvcompletebulkload http://hbase.apache.org/book/arch.bulk.load.html

2)使用Pig批量加载数据.例:

A = LOAD '/hbasetest.txt' USING PigStorage(',') as 
      (strdata:chararray, intdata:long);
STORE A INTO 'hbase://mydata'
        USING org.apache.pig.backend.hadoop.hbase.HBaseStorage(
              'mycf:intdata');
Run Code Online (Sandbox Code Playgroud)

3)使用HBase API以编程方式进行.我有一个名为hbaseloader的小项目,它将文件加载到HBase表中(表中只有一个ColumnFamily和文件内容).看一下它,你只需要定义表的结构并修改代码来读取csv文件并解析它.

4)使用MapReduce作业以编程方式执行此操作,如您提到的示例中所示.