• 大小: 14KB
    文件类型: .zip
    金币: 2
    下载: 1 次
    发布日期: 2022-09-30
  • 语言: Java
  • 标签: hive,hbase  bulkloa  

资源简介

基于hadoop的,java实现hive快速导数据到Hbase解决方案。

资源截图

代码片段和文件信息

package edu.wzm;

import edu.wzm.transform.RCFileToHFile;
import edu.wzm.utils.HiveTableUtils;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.conf.Configured;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.hbase.HbaseConfiguration;
import org.apache.hadoop.hbase.KeyValue;
import org.apache.hadoop.hbase.client.HbaseAdmin;
import org.apache.hadoop.hbase.client.HTable;
import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
import org.apache.hadoop.hbase.mapreduce.HFileOutputFormat;
import org.apache.hadoop.hbase.mapreduce.SimpleTotalOrderPartitioner;
import org.apache.hadoop.hive.conf.HiveConf;
import org.apache.hadoop.hive.metastore.HivemetaStoreClient;
import org.apache.hadoop.hive.ql.metadata.Table;
import org.apache.hadoop.hive.serde2.objectinspector.StructField;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
import org.apache.hadoop.util.GenericOptionsParser;
import org.apache.hadoop.util.Tool;
import org.apache.hadoop.util.ToolRunner;
import org.apache.hive.hcatalog.common.HCatUtil;
import org.apache.hive.hcatalog.rcfile.RCFileMapReduceInputFormat;

import java.util.List;

/**
 * Created by GatsbyNewton on 2016/3/24.
 */
public class Driver extends Configured implements Tool{

    private static Configuration conf = new Configuration();
    private static Configuration hconf = null;
    private static HbaseAdmin hadmin = null;

    public static void connectHbase(){
        final String Hbase_CONFIG_ZOOKEEPER_CLIENT = “hbase.zookeeper.property.clientPort“;
        final String Hbase_ZOOKEEPER_CLIENT_PORT = “2181“;
        final String Hbase_CONFIG_ZOOKEEPER_QUORUM = “hbase.zookeeper.quorum“;
        final String Hbase_ZOOKEEPER_SERVER = “hbase38hbase43hbase00“;

        conf.set(Hbase_CONFIG_ZOOKEEPER_CLIENT Hbase_ZOOKEEPER_CLIENT_PORT);
        conf.set(Hbase_CONFIG_ZOOKEEPER_QUORUM Hbase_ZOOKEEPER_SERVER);
        hconf = HbaseConfiguration.create(conf);
        try{
            hadmin = new HbaseAdmin(hconf);
        }
        catch (Exception e){
            e.printStackTrace();
        }
    }


    public static void main(String[] args)throws Exception{
        String[] otherArgs = new GenericOptionsParser(conf args).getRemainingArgs();
        if(otherArgs.length != 4){
            System.err.println(“Usage:    setable>“);
            System.exit(1);
        }

        String path = System.getProperty(“user.dir“) + otherArgs[2];
        List fieldNames = HiveTableUtils.getFieldName(path);
        StringBuilder sb = new StringBuilder(fieldNames.get(0));
        int size = fieldNames.size();
        for(int i = 1; i < size; i++){
            sb.append(“:“).append(fieldNames.get(i));
        }

        conf.set(“schema“ sb.toString());

System.exit(ToolRunner.run(conf new Driver() otherArgs));
    }

    @SuppressWarnings(“deprecation“)
    @Override
    public int run(String[] strings) throws Ex

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-11-05 16:10  hive-bulkload-hbase-master\
     文件         272  2017-11-05 16:10  hive-bulkload-hbase-master\.gitignore
     文件       11357  2017-11-05 16:10  hive-bulkload-hbase-master\LICENSE
     文件        3003  2017-11-05 16:10  hive-bulkload-hbase-master\README.md
     目录           0  2017-11-05 16:10  hive-bulkload-hbase-master\bin\
     文件         561  2017-11-05 16:10  hive-bulkload-hbase-master\bin\run.sh
     文件        2479  2017-11-05 16:10  hive-bulkload-hbase-master\pom.xml
     目录           0  2017-11-05 16:10  hive-bulkload-hbase-master\schema\
     文件         635  2017-11-05 16:10  hive-bulkload-hbase-master\schema\table
     目录           0  2017-11-05 16:10  hive-bulkload-hbase-master\src\
     目录           0  2017-11-05 16:10  hive-bulkload-hbase-master\src\main\
     目录           0  2017-11-05 16:10  hive-bulkload-hbase-master\src\main\java\
     目录           0  2017-11-05 16:10  hive-bulkload-hbase-master\src\main\java\edu\
     目录           0  2017-11-05 16:10  hive-bulkload-hbase-master\src\main\java\edu\wzm\
     文件        3941  2017-11-05 16:10  hive-bulkload-hbase-master\src\main\java\edu\wzm\Driver.java
     文件        4173  2017-11-05 16:10  hive-bulkload-hbase-master\src\main\java\edu\wzm\Driver2.java
     目录           0  2017-11-05 16:10  hive-bulkload-hbase-master\src\main\java\edu\wzm\transform\
     文件        2619  2017-11-05 16:10  hive-bulkload-hbase-master\src\main\java\edu\wzm\transform\RCFileToHFile.java
     目录           0  2017-11-05 16:10  hive-bulkload-hbase-master\src\main\java\edu\wzm\utils\
     文件        1468  2017-11-05 16:10  hive-bulkload-hbase-master\src\main\java\edu\wzm\utils\HiveTableUtils.java

评论

共有 条评论

相关资源