ビッグデータ学習の道108-spark streaming redis履歴state統計に基づく
1054 ワード
私たちは以前spark streamingを使ってmysqlベースの歴史state統計をしたことがありますが、当時の方法は不器用でした.mysqlに書くと1つ目は性能が悪く、2つ目は符号化が面倒なので、一般的にはそうする人はいませんでした.そして当時のデータソースはsocketでした.
私たちのビジネスは
クライアントツールでkafkaにリアルタイムでデータを書き込み、spark streamingでリアルタイムで監視して消費します.リアルタイムの統計をredisに書き込む.
まずクライアントプログラムを書いてリアルタイムで文字列を生成してkafkaに書き込む必要があります
まずJavaクラスを書いて、このクラスにリアルタイムの生成データをkafkaに書き込むようにします.
コードは次のとおりです.
私たちのビジネスは
クライアントツールで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 ,