HBase csv数据分析

载入数据

使用命令行加载csv数据

  1. 使用Hbase Shell创建一个表gdp,列族有info.
create 'gdp','info'

或者使用JAVA API创建表单,配置就不写了

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import java.io.IOException;
import java.net.URISyntaxException;
import org.apache.commons.lang.StringUtils;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.hbase.Cell;
import org.apache.hadoop.hbase.CellUtil;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.*;
import org.apache.hadoop.hbase.filter.Filter;

public class HelloHBase {
	  public static void main( String[] args ) throws URISyntaxException, IOException
	    {
		  Configuration config=HBaseConfiguration.create();
		  config.addResource(
				  new Path(ClassLoader.getSystemResource("hbase-site.xml").toURI()));
		  config.addResource(
				  new Path(ClassLoader.getSystemResource("core-site.xml").toURI()));
          Connection connection=ConnectionFactory.createConnection(config);
          
          TableName tableName=TableName.valueOf("gdp");
          HTableDescriptor table=new HTableDescriptor(tableName);
          HColumnDescriptor mycf = new HColumnDescriptor("info");
          table.addFamily(new HColumnDescriptor(mycf));
          Admin admin=connection.getAdmin();
          admin.createTable(table);
          admin.close();
          connection.close();
         
	    }
}

  1. 把当前目录下文件传入HDFS /input/目录中中
hadoop@Master:~/test/hbase$ hdfs dfs -put gdp.csv /input/
  1. 使用如下命令将数据从hdfs加载至表单中.
    前面一半表示用逗号分隔,后面columns 表示将csv数据的每一列划分为列族中的列.这里我使用了省份作为Row_key,由于数据小,且联系密切,就把它们都放到了一个列族中.
hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.separator=',' -Dimporttsv.columns=HBASE_ROW_KEY,info:date,info:number gdp /input/gdp.csv

下面是shell描述
在这里插入图片描述
可以从Hue看到数据的格式。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值