首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将csv数据加载到Hbase中

将csv数据加载到Hbase中
EN

Stack Overflow用户
提问于 2012-12-17 08:18:05
回答 2查看 29.8K关注 0票数 9

我对hadoop和hbase非常陌生,在我找到的每个教程中,我都会遇到一些概念性的问题。

我在Win7系统的ubuntu虚拟机中的单个节点上运行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的win7机器上编译它,然后把它移到ubuntu vm上吗?

我读了这篇问答文章,但我想我仍然没有掌握基本的知识:Loading CSV File into Hbase table using MapReduce

我找不到任何涉及这些基本hadoop/hbase后勤的东西。任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-18 22:48:30

无需编写MapReduce作业即可将数据大容量加载到HBase中。将数据大容量加载到HBase中有几种方法:

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

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

代码语言:javascript
复制
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接口编程完成。我有一个名为hbaseloader的小项目,它将文件加载到一个HBase表中(该表只有一个包含文件内容的ColumnFamily )。看一下它,您只需要定义表的结构,并修改代码以读取csv文件并解析它。

4)使用您提到的示例中的MapReduce作业以编程方式完成。

票数 15
EN

Stack Overflow用户

发布于 2012-12-17 14:00:47

代码语言:javascript
复制
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或Ubuntu VM中)。你也可以在任何地方编译它。只需使用您创建的类创建一个Jar文件,然后使用该jar在VM中运行map reduce即可。

然后,在您的Ubuntu VM中,在启动Hadoop之后,您可以使用以下命令运行您创建的map reduce类。

代码语言:javascript
复制
<Path To Hadoop Bin>/hadoop jar <Path to Jar>/<Jar Name>.jar <Map Reduce Class Name> <Class Arguments> ...

当您运行上面的命令时,您编写的Map Reduce类将被执行,Hbase表也将被填充。

希望这能有所帮助

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13906847

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档