IDE往集群中HBase中写数据 (实时写入数据)

该博客介绍了如何将数据实时写入HBase集群。首先,通过创建封装对象和接口来准备数据插入和查询。接着,启动Zookeeper、HDFS和Kafka集群。然后,使用Flume从data.txt文件中读取数据,并通过Kafka进行传输。最后,启动HBase并运行数据插入及测试类,实现数据的实时写入。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、创建封装对象 (列簇项)

package com.aura.bean;

import java.io.Serializable;
//hbase 列簇项
public class CategoryClickCount implements Serializable {
    //点击的品类
    private String name;
    //点击的次数
    private long count;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public long getCount() {
        return count;
    }

    public void setCount(long count) {
        this.count = count;
    }

    public CategoryClickCount(String name, long count) {
        this.name = name;
        this.count = count;
    }
}

2、编写接口   插入与查询 

package com.aura.dao;



import com.aura.bean.CategoryClickCount;

import java.util.List;
//插入与查询  接口
public interface HBaseDao {
    //往hbase里面插入一条数据
    public void save(String tableName,String rowkey,String family,String q,long value);
    //根据rowkey(查询)返回数据
    
/**
 * 在Hbase查询中  输入tableName与rowkey  比按(输入)family或者时间戳 更快
 * 因为(输入)family或者时间戳会降低查询性能
 */
public  List<CategoryClickCount> count(String tableName,String rowkey);}
3、编写实现类
package com.aura.dao.impl;

import com.aura.bean.CategoryClickCount;
import com.aura.dao.HBaseDao;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.Cell;
import org.apache.hadoop.hbase.CellUtil;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.client.*;
import org.apache.hadoop.hbase.filter.PrefixFilter;
import org.apache.hadoop.hbase.util.Bytes;


import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
//实现类
public class HBaseImpl implements HBaseDao {
    HConnection htablePool = null; //HConnection 获取HBase连接  类似于JDBC
    public HBaseImpl(){
 
 //创建类自动加载
    //设置程序入口
        Configuration conf = HBaseConfiguration.create();
        //HBase自带的zookeeper
        conf.set("hbase.zookeeper.quorum","hadoop02:2181");//zookeeper监控中一个的hbase端口号
        //conf.set("zookeeper.znode.parent","/mybase"); 
    // HBase原数据存在zookeeper中的mybase目录下   (此时本集群没有配置这个参数,所以省略)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值