将csv数据加载到hbase

ckocjqey  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(407)

关闭。这个问题需要更加突出重点。它目前不接受答案。
**想改进这个问题吗?**通过编辑这篇文章更新这个问题,使它只关注一个问题。

7年前关门了。
改进这个问题
我对hadoop和hbase非常陌生,在我找到的每一个教程中都会遇到一些概念性的问题。
我在win7系统的ubuntuvm中的一个节点上运行hadoop和hbase。我有一个csv文件,我想加载到一个hbase表。
列为:贷款编号、借款人名称、当前贷款发放日期、贷款金额
我知道我需要写一个mapreduce作业来将这个csv文件加载到hbase中。下面的教程描述了编写这个mapreduce作业所需的java。http://salsahpc.indiana.edu/sciencecloud/hbase_hands_on_1.htm
我缺少的是:
我在哪里保存这些文件,在哪里编译它们?我应该在运行visualstudio12的win7机器上编译这个,然后把它移到ubuntuvm上吗?
我读了这么多问题和答案,但我想我仍然错过了基本的:加载csv文件到hbase表使用mapreduce
我找不到任何关于这些基本hadoop/hbase逻辑的东西。任何帮助都将不胜感激。

r55awzrz

r55awzrz1#

Where do I save these files and where do I compile them? Should I compile this on my win 7 machine running visual studio 12 and then move it to the ubuntu vm?

你可以把map reduce类保存在任何地方(win7或者ubuntuvm)。你也可以在任何地方编译它。只需用创建的类创建一个jar文件,然后在vm中运行map reduce。
然后在启动hadoop后的ubuntuvm中,可以使用以下命令运行创建的map reduce类。

<Path To Hadoop Bin>/hadoop jar <Path to Jar>/<Jar Name>.jar <Map Reduce Class Name> <Class Arguments> ...

运行上述命令时,您编写的map reduce类将与hbase表一起执行。
希望这有帮助

iyr7buue

iyr7buue2#

无需编写mapreduce作业来将数据批量加载到hbase中。有几种方法可以将数据批量加载到hbase中:
1) 使用hbase工具,如 importtsv 以及 completebulkload http://hbase.apache.org/book/arch.bulk.load.html
2) 使用清管器批量加载数据。例子:

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');

3) 使用hbase api编程实现。我得到了一个名为hbaseloader的小项目,它将文件加载到hbase表(该表只有一个包含文件内容的列族)。看一下,您只需要定义表的结构并修改代码以读取csv文件并对其进行解析。
4) 使用mapreduce作业以编程的方式完成它,如您提到的示例中所示。

相关问题