大数据学习之路108-spark streaming基于redis历史state统计

我们之前使用spark streaming做过基于mysql的历史state统计,但是当时的方法很笨,因为写到mysql中第一是性能不好,第二是编码麻烦,所以一般不会有人那么做。而且当时的数据来源是socket。

所以现在我们的业务就是:

通过一个客户端工具实时的写数据到kafka中,然后通过spark streaming实时的监控并消费出来。写入到redis中进行实时的统计。

首先我们需要写一个客户端程序实时的生成一个字符串写入到kafka

所以我们就先写一个Java类,让这个类负责实时的生成数据写入kafka

代码如下:

package com.xiaoniu.kafka;

import org.apache.kafka.clients.producer.KafkaProducer;
import org.apache.kafka.clients.producer.ProducerRecord;
import org.apache.kafka.common.serialization.StringSerializer;

import java.util.Properties;
import java.util.Random;
import java.util.UUID;

public class GenerateWord {
    public static void main(String[] args) throws InterruptedException {
        //封装配置参数
        Properties props = new Properties();
        //kafka的brokers列表
        props.setProperty("bootstrap.servers", "marshal:9092,marshal01:9092,marshal02:9092,marshal03:9092,marshal04:9092,marshal05:9092");
        //key和value的序列化方式,因为需

你可能感兴趣的:(大数据生态圈从入门到精通)