Flink 两表关联 流批处理消费kafka 数据写入hbase

该博客展示了如何使用Flink进行流批处理,消费Kafka中的两个主题数据,通过SQL Join操作进行数据关联,并将结果实时写入Hbase。详细步骤包括设置Flink环境、配置Kafka源、执行SQL查询以及Hbase数据写入。
摘要由CSDN通过智能技术生成

Flink流批处理消费kafka 数据写入hbase

  1. 通过flume将数据写入kafka topic

Kafka topic1 数据:

name, age, sexy, proctime.proctime

java,18,男,20190516

rose,28,女,20190516

tom,38,男,20190516

jack,18,男,20190516

luoli,19,女,20190516

 

Kafka topic2 数据:

name, age, sexy, city, proctime.proctime

java,18,男,hangzh,20190516

rose,28,女,xian,20190516

tom,38,男,shanghai,20190516

jack,18,男,beijin,20190516

luoli,19,女,baoji,20190516

 

  1. 具体实现代码:

package com.sitesh;
import org.apache.flink.api.common.functions.MapFunction;
import org.apache.flink.api.common.serialization.SimpleStringSchema;
import org.apache.flink.api.java.tuple.Tuple2;
import org.apache.flink.api.java.tuple.Tuple3;
import org.apache.flink.api.java.tuple.Tuple4;
import org.apache.flink.api.java.utils.ParameterTool;
import org.apache.flink.runtime.state.filesystem.FsStateBackend;
import org.apache.flink.streaming.api.TimeCharacteristic;
import org.apache.flink.streaming.api.datastream.DataStream;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
import org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumer010;
import org.apache.flink.table.api.Table;
import org.apache.flink.table.api.TableEnvironment;
import org.apache.flink.table.api.java.StreamTableEnvironment;
import org.apache.flink.types.Row;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.Admin;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.ConnectionFactory;
import org.apache.hadoop.hbase.client.Put;

import java.io.IOException;
import java.util.Properties;
import java.util.logging.Level;
import java.util.logging.Logger;


public class SqlJoinWithKafka {
    public static void main(String[] args) throws Exception{

        System.out.println("use command as: 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值