1. 预先生成HFile入库
这个地址有详细的说明http://blog.csdn.net/dajuezhao/archive/2011/04/26/6365053.aspx
2. 通过MapReduce入库
/* MapReduce 读取hdfs上的文件,以HTable.put(put)的方式在map中完成数据写入,无reduce过程*/
import java.io.IOException;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.conf.Configured;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.client.HTable;
import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.NullWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.Mapper;
import org.apache.hadoop.mapreduce.lib.input.TextInputFormat;
import org.apache.hadoop.mapreduce.lib.output.NullOutputFormat;
import org.apache.hadoop.util.GenericOptionsParser;
import org.apache.hadoop.util.Tool;
import org.apache.hadoop.util.ToolRunner;
public class HBaseImport extends Configured implements Tool{
static final Log LOG = LogFactory.getLog(HBaseImport.class);
public static final String JOBNAME = "MRImport ";
public static class
HBase 数据入库方式对比:HFile、MapReduce与Java程序

本文介绍了三种HBase数据入库的方法:预生成HFile入库、通过MapReduce入库和使用Java程序入库。MapReduce方式在开始时较快,但会因竞争资源而变慢;HFile方式最快,但表非空时可能导致慢速split;Java程序入库采用多线程,被多数专家推荐。
最低0.47元/天 解锁文章
1154

被折叠的 条评论
为什么被折叠?



