夜的独白

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

![file](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ncmFwaC5iYWlkdS5jb20vcmVzb3VyY2UvMjIyOGVlN2Y2YTgyMWU3MzBkOTUxMDE1ODgwNTI5OTAucG5n?x-oss-
process=image/format,png)

实时数据分析门槛较高,我们如何用极少的开发工作就完成实时数据平台的搭建,做出炫酷的图表呢?

![file](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ncmFwaC5iYWlkdS5jb20vcmVzb3VyY2UvMjIyNjdkZTBjNzhhNDdiNTViNjY5MDE1ODgwNTM5NTEucG5n?x-oss-
process=image/format,png)
如何快速的搭建实时数据分析平台,首先我们需要实时数据的接入端,我们选择高扩展性、容错性、速度极快的消息系统Kafka,而实时数据仓库,由于
Druid提供了非常方便快捷配置方式,如果不想编写负责的Flink和Spark代码,Druid绝对是一个不错的选择,有了数据仓库,我们必须需要一个可视化和交互式分析的平台,对druid支持最好的无疑是Superset了。

请注意,druid目前并不支持windows,所以我们将kafka 与 druid部署于我们的centos服务器中,而superset,可以在本地安装。

最终我们通过Kafka的实时数据接入能力,Druid的实时数据仓库存储,聚合能力,Superset的数据可视化与交互式分析能力,快速的搭建一套实时数据分析平台。

注:对于本教程需要的所有安装包,如果需要请在公众号回复 “实时数仓安装包” 下载

​ 如果已有安装包,文中的Download安装包内容可以跳过~

一、CentOS下安装Kafka

Kafka 是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。 Kafka 是一种高吞吐量的分布式发布订阅消息系统。

下载安装包

查看centos版本 cat /etc/redhat-release 我的是7.6

![file](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ncmFwaC5iYWlkdS5jb20vcmVzb3VyY2UvMjIyYzE2NGFhYmFlMDU3ZWE0OWRmMDE1ODgwNTMwMDIucG5n?x-oss-
process=image/format,png)

访问Kafka官网 http://kafka.apache.org/

选择左下方Download按钮

![file](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ncmFwaC5iYWlkdS5jb20vcmVzb3VyY2UvMjIyMzQ1NTRjNDdkZGY1YzM2MGRlMDE1ODgwNTMwMTQucG5n?x-oss-
process=image/format,png)

最新的版本已经是2.5 为了与公司版本统一 我们下滑选择1.0.0 注意选择二进制安装包

![file](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ncmFwaC5iYWlkdS5jb20vcmVzb3VyY2UvMjIyM2MyNDllYjE4NWM1YTc5N2VkMDE1ODgwNTMwMjMucG5n?x-oss-
process=image/format,png)

启动

上传包到服务器 进入所在目录

解压安装包:

tar -zxvf kafka_2.11-1.0.0.tgz

进入kafka目录 cd kafka_2.11-1.0.0

目录结构如下:

![file](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ncmFwaC5iYWlkdS5jb20vcmVzb3VyY2UvMjIyZTAyOTUxMmI2OGFjZGVkNjU1MDE1ODgwNTMwMzMucG5n?x-oss-
process=image/format,png)

如果需要用自己的 zookeeper 多集群配置 需要修改 vi config/server.properties

我们这里启动kafka自带zk:-daemon 为后台启动

    ./bin/zookeeper-server-start.sh -daemon config/zookeeper.properties

启动Kafka

    ./bin/kafka-server-start.sh -daemon config/server.properties

不报错的话 查看进程是否正常运行 zk运行端口2181 kafka运行端口 9092

    netstat -tunlp|egrep "(2181|9092)"

![file](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ncmFwaC5iYWlkdS5jb20vcmVzb3VyY2UvMjIyMjQ5ZDI5YjA3NGQ4NDM5NzM3MDE1ODgwNTMwNDEucG5n?x-oss-
process=image/format,png)

Kafka安装成功!

我们用命令行感受一下kafka

用一个生产者向test里发消息

    ./bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test

再开启一个终端:

进入kafka的目录

开启消费者监听消息

    ./bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning

回到刚才的生产者 发送消息

![file](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ncmFwaC5iYWlkdS5jb20vcmVzb3VyY2UvMjIyMzQxZDc0YWVhYWFjMDE3N2RhMDE1ODgwNTMwNDkucG5n?x-oss-
process=image/format,png)

再看消费者一端 消息收到了

![file](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ncmFwaC5iYWlkdS5jb20vcmVzb3VyY2UvMjIyZmE2OGVlY2I2NzhhNDNhOWMyMDE1ODgwNTMwNTkucG5n?x-oss-
process=image/format,png)

二、CentOS安装Druid

Druid是一个分布式的支持实时分析的数据存储系统。通俗一点:高性能实时分析数据库。它由美国广告技术公司MetaMarkets于2011年创建,并且于2012年开源。MetaMarkets是一家专门为在线媒体公司提供数据服务的公司,主营是DSP广告运营推送平台,由于对实时性要求非常高,公司不得不放弃原始的大数据方案,Druid也就应运而生。

下载安装包

Druid官网地址 https://druid.apache.org/

选择Download

![file](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ncmFwaC5iYWlkdS5jb20vcmVzb3VyY2UvMjIyNzhmMmE0MDYxZTAyMDFmNmE0MDE1ODgwNTMwNzYucG5n?x-oss-
process=image/format,png)

进入Download页

![file](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ncmFwaC5iYWlkdS5jb20vcmVzb3VyY2UvMjIyMDdkZGZiYzg2YTliNGIxOTQ2MDE1ODgwNTMwODUucG5n?x-oss-
process=image/format,png)

其他版本下载地址:https://archive.apache.org/dist/druid/

我们使用的版本是0.17.0

![file](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ncmFwaC5iYWlkdS5jb20vcmVzb3VyY2UvMjIyZmI4MWNiODc2N2FjNGNiYjNhMDE1ODgwNTMwOTIucG5n?x-oss-
process=image/format,png)

上传包到服务器

解压

tar -zxvf apache-druid-0.17.0-bin.tar.gz

进入目录

cd apache-druid-0.17.0

目录结构如下

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-
ivnKV3ZC-1588059483968)(https://graph.baidu.com/resource/222cdeb776e84da8157f501588053100.png)]

我们选择最轻量的而服务器配置:

启动

单服务器参考配置

Nano-Quickstart:1个CPU,4GB RAM

启动命令: bin/start-nano-quickstart

配置目录: conf/druid/single-server/nano-quickstart

cd apache-druid-0.17.0/conf/druid/single-server/nano-quickstart/
vi _common/common.runtime.properties

    修改zk地址
    #
    # Zookeeper,大概在46~55行中间,对zk进行配置
    #
    druid.zk.service.host=localhost:2181

修改默认端口验证

vi bin/verify-default-ports

把这行的2181去掉

    my @ports = @ARGV;
    if (!@ports) {
      @ports = (1527,  8083, 8090,  8100, 8200, 8888);
    }

我们也可以自定义端口 都要在这里修改

随后我们启动

bin/start-nano-quickstart

启动成功!!

![file](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ncmFwaC5iYWlkdS5jb20vcmVzb3VyY2UvMjIyMzliOWU1NjY4MGE4Y2Y3ZGQzMDE1ODgwNTMxMDkucG5n?x-oss-
process=image/format,png)

访问页面localhost:8888

![file](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ncmFwaC5iYWlkdS5jb20vcmVzb3VyY2UvMjIyNzNmMTU3YzZiMGRjOTI4NWM2MDE1ODgwNTMxMTYucG5n?x-oss-
process=image/format,png)

druid已经成功启动!

导入Kafka数据

在kafka目录中运行命令 {PATH_TO_DRUID}替换为druid目录 这些是druid的测试数据

    export KAFKA_OPTS="-Dfile.encoding=UTF-8"
    ./bin/kafka-console-producer.sh --broker-list localhost:9092 --topic wikipedia < {PATH_TO_DRUID}/quickstart/tutorial/wikiticker-2015-09-12-sampled.json

载入kafka数据到Druid

请将localhost替换为安装服务器的地址!

进入localhost:8888 点击load data

选择 Apache Kafka 并单击 Connect data

![file](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ncmFwaC5iYWlkdS5jb20vcmVzb3VyY2UvMjIyODQ3N2EyYzhkN2IxMThiY2UzMDE1ODgwNTMxNTEucG5n?x-oss-
process=image/format,png)

输入kafka服务器 localhost:9092
输入topic wikipedia 可以预览数据 然后下一步

![file](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ncmFwaC5iYWlkdS5jb20vcmVzb3VyY2UvMjIyZjJmODY5YWJiODg2N2U1YWQzMDE1ODgwNTMxNjQucG5n?x-oss-
process=image/format,png)

解析数据

![file](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ncmFwaC5iYWlkdS5jb20vcmVzb3VyY2UvMjIyNTE2MWM3MzNjNmM3YzEzODUwMDE1ODgwNTMxNzUucG5n?x-oss-
process=image/format,png)

解析时间戳 设置转换 设置过滤

![file](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ncmFwaC5iYWlkdS5jb20vcmVzb3VyY2UvMjIyZTExMGY5YjI4OThiYjMwZDIzMDE1ODgwNTMxODkucG5n?x-oss-
process=image/format,png)

![file](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ncmFwaC5iYWlkdS5jb20vcmVzb3VyY2UvMjIyNTkwNWMxMjY0MTVhYmIzNDdmMDE1ODgwNTMyMDIucG5n?x-oss-
process=image/format,png)

![file](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ncmFwaC5iYWlkdS5jb20vcmVzb3VyY2UvMjIyNTMzMmU5MDU4NGQxZDRhOGZmMDE1ODgwNTMyMTEucG5n?x-oss-
process=image/format,png)

这步比较重要 确定统计的范围

![file](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ncmFwaC5iYWlkdS5jb20vcmVzb3VyY2UvMjIyNmY5N2FkMTA0MGUxZGM1YzQ3MDE1ODgwNTMyMjAucG5n?x-oss-
process=image/format,png)

![file](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ncmFwaC5iYWlkdS5jb20vcmVzb3VyY2UvMjIyNmViNTNhN2ZlYzJiY2MxOTZiMDE1ODgwNTMyMjgucG5n?x-oss-
process=image/format,png)

发布!

![file](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ncmFwaC5iYWlkdS5jb20vcmVzb3VyY2UvMjIyMmQ3ZDQwZWZmNWIxNzk2NTc0MDE1ODgwNTMyMzYucG5n?x-oss-
process=image/format,png)

等待任务完成

![file](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ncmFwaC5iYWlkdS5jb20vcmVzb3VyY2UvMjIyYmM0OTlkMjc0MzczMGZmYjk3MDE1ODgwNTMyNDcucG5n?x-oss-
process=image/format,png)

![file](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ncmFwaC5iYWlkdS5jb20vcmVzb3VyY2UvMjIyMmNhNTk1YjZjMmRmMzdhMWM4MDE1ODgwNTMyNzMucG5n?x-oss-
process=image/format,png)

去查询页面查看,我们的数据已经实时写入Druid了

![file](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ncmFwaC5iYWlkdS5jb20vcmVzb3VyY2UvMjIyZTg1Nzg1OWEwYzVlZTJiNGJlMDE1ODgwNTMyODMucG5n?x-oss-
process=image/format,png)

三、本地安装Superset

Superset 是一款由 Airbnb 开源的“现代化的企业级
BI(商业智能) Web 应用程序”,其通过创建和分享 dashboard,为数据分析提供了轻量级的数据查询和可视化方案。

win10安装python 3.7

下载

Python官网,点击进入https://www.python.org/

![file](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ncmFwaC5iYWlkdS5jb20vcmVzb3VyY2UvMjIyZDU4NGJlM2Q4NzZiY2Q3Zjk3MDE1ODgwNTMzOTQucG5n?x-oss-
process=image/format,png)

点击Python官网的Downloads,然后在下拉菜单中点Windows,进入版本选择页面
![file](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ncmFwaC5iYWlkdS5jb20vcmVzb3VyY2UvMjIyZTAxNGUyY2E5Njk1ZjA0MDQ2MDE1ODgwNTM0MDkucG5n?x-oss-
process=image/format,png)

进入版本选择页面,可以在最上面看到有Python3的最新版和Python2的最新版,在这里点击Python3.7.3进入下载页面
进入下载页面后,向下滚动鼠标,找到"Files",这里列出了Python3.7.3版本的不同操作系统的安装包或相关文件,我们是在Windows10里面安装,选择对应版本的安装包下载,点击下载,等待一会就可以下载完成了

![file](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ncmFwaC5iYWlkdS5jb20vcmVzb3VyY2UvMjIyYjZiNjIwZGQ1OTEzMDg0NDU1MDE1ODgwNTM0MTcucG5n?x-oss-
process=image/format,png)

安装

将下载完成的Python3.7.3安装包剪切到电脑桌面(不放桌面也可以,只是这样更方便),双击打开,然后将下方的两个选项框都打钩,再点击Customize
installation进入下一步

![file](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ncmFwaC5iYWlkdS5jb20vcmVzb3VyY2UvMjIyZTllZjM4NGI2MzY0ZmFiYjIxMDE1ODgwNTM0MzAucG5n?x-oss-
process=image/format,png)

这个界面默认所有选项都是打钩的,保持默认即可,点击Next进入下一步

![file](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ncmFwaC5iYWlkdS5jb20vcmVzb3VyY2UvMjIyODE3YTM5MTM3ZjZhM2JkNDU2MDE1ODgwNTM0MzgucG5n?x-oss-
process=image/format,png)

将Install for all users选项打钩,其他的选项保持默认,此时下方的默认安装路径为C:\Program
Files\Python37,这里可以点击Browse,根据自己的需求选择安装目录,但是目录名中最好不要包含中文.

如果C盘有很多空间,可以不更改,或者有固态硬盘的,可以选择将Python3.7.3装在固态盘中.

![file](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ncmFwaC5iYWlkdS5jb20vcmVzb3VyY2UvMjIyNzUwYTc2ZTQwMzMwNGQ4MmZiMDE1ODgwNTM0NDcucG5n?x-oss-
process=image/format,png)

确认好安装位置后,点击Install进行安装

现在Python3.7.3开始安装,可以看到安装的进度条在读条,什么也不用做,稍等一会就安装完成了

进度条完成,会显示下面的菜单,表示已经安装成功了,现在点击Close即可,Python3.7.3已经安装成功了

![file](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ncmFwaC5iYWlkdS5jb20vcmVzb3VyY2UvMjIyNGRiZjNlMjc1YTMwZjY1OGQ5MDE1ODgwNTM0NjUucG5n?x-oss-
process=image/format,png)

验证

在安装完成Python3.7.3后,已经自动帮我们配好了环境变量(非常省事),我们直接在命令行里面使用python命令,就会进入Python3.7.3的交互界面.

按Win+R进入运行界面,在里面输入cmd回车,进入Windows的命令行,在命令行输入python37可以进入Python3.7.3的命令行模式,(输入a
= 1,然后输入a,控制台输出1)测试成功,说明Python3.7.3安装成功

![file](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ncmFwaC5iYWlkdS5jb20vcmVzb3VyY2UvMjIyMWYzYzMyMzJkYjA3YzYzMzk0MDE1ODgwNTM0NzYucG5n?x-oss-
process=image/format,png)

win10安装superset

安装

使用pip 需要下载一会~ 网不好可能下载失败,需要重新执行,之前下载的会缓存,网速不好的话可能很难~ 耐心一点

    pip install apache-superset

![file](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ncmFwaC5iYWlkdS5jb20vcmVzb3VyY2UvMjIyODQ5MTU1MDE4YTdkNGIzZmQ1MDE1ODgwNTM1MDQucG5n?x-oss-
process=image/format,png)

成功!!

![file](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ncmFwaC5iYWlkdS5jb20vcmVzb3VyY2UvMjIyNjFhMTYwMzI3YzI5NmRjNDhlMDE1ODgwNTM1MzAucG5n?x-oss-
process=image/format,png)

记录一下superset的安装位置 进入该目录

初始化
    # 初始化数据库
    python superset db upgrade
    

这个过程中会提示缺少包,初始化失败

![file](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ncmFwaC5iYWlkdS5jb20vcmVzb3VyY2UvMjIyMzViM2M2NjJmZGZjYzE5N2NmMDE1ODgwNTM1NDEucG5n?x-oss-
process=image/format,png)

依次安装即可 比如这里缺少 flask_migrate

我们就

    pip install flask_migrate
    # 创建管理员账号
    python superset fab create-admin

提示输入用户名 密码

![file](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ncmFwaC5iYWlkdS5jb20vcmVzb3VyY2UvMjIyZDIyNDEyMGRkYmM1MDY4NjJiMDE1ODgwNTM1NjEucG5n?x-oss-
process=image/format,png)

    # 载入案例数据 也会有点慢 服务器在国外 也可以多试几次 不行可以跳过
    python superset load_examples

![file](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ncmFwaC5iYWlkdS5jb20vcmVzb3VyY2UvMjIyNjdmMjBlOWE5NmZmNTA3ZjhiMDE1ODgwNTM1NjYucG5n?x-oss-
process=image/format,png)

    # 初始化角色和权限
    python superset init

![file](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ncmFwaC5iYWlkdS5jb20vcmVzb3VyY2UvMjIyNjg0MTZhNjM3ZDRlMzRlZGI4MDE1ODgwNTM1NzQucG5n?x-oss-
process=image/format,png)

    # 启动服务,默认端口号 5000,使用 -p 更改端口号
    python superset run

成功!!

![file](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ncmFwaC5iYWlkdS5jb20vcmVzb3VyY2UvMjIyMzBhYTgxMDZkZGFjZTU1YjY2MDE1ODgwNTM1ODIucG5n?x-oss-
process=image/format,png)

浏览器访问http://localhost:5000/

![file](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ncmFwaC5iYWlkdS5jb20vcmVzb3VyY2UvMjIyM2MwNmYyNzQ2NDY0MTk5ZDI3MDE1ODgwNTM1ODkucG5n?x-oss-
process=image/format,png)

![file](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ncmFwaC5iYWlkdS5jb20vcmVzb3VyY2UvMjIyY2FjMzk4YmJkMzgyYzkwZjU4MDE1ODgwNTM1OTkucG5n?x-oss-
process=image/format,png)

![file](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ncmFwaC5iYWlkdS5jb20vcmVzb3VyY2UvMjIyODM3MTJmMTE3OGU4NTFkMmMyMDE1ODgwNTM2MDgucG5n?x-oss-
process=image/format,png)

superset查询 展示druid数据

这时候还不能连Druid

需要安装pydruid

    pip install pydruid

重启superset

新建数据源

![file](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ncmFwaC5iYWlkdS5jb20vcmVzb3VyY2UvMjIyMDA2MzRkNmEyYTRjNWM2NmQ5MDE1ODgwNTM2MjEucG5n?x-oss-
process=image/format,png)

![file](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ncmFwaC5iYWlkdS5jb20vcmVzb3VyY2UvMjIyNGVkODBjYzU0ZjI1MjE2ZWFmMDE1ODgwNTM2MjYucG5n?x-oss-
process=image/format,png)

成功!! 保存

![file](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ncmFwaC5iYWlkdS5jb20vcmVzb3VyY2UvMjIyZWEwMjEzOWIyNDc5MjcyZGMzMDE1ODgwNTM2MzMucG5n?x-oss-
process=image/format,png)

新建刚才的表

![file](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ncmFwaC5iYWlkdS5jb20vcmVzb3VyY2UvMjIyNTZmZmQ0MTM4MDgwNThhMDEwMDE1ODgwNTM2NDcucG5n?x-oss-
process=image/format,png)

![file](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ncmFwaC5iYWlkdS5jb20vcmVzb3VyY2UvMjIyMzI5MTJmOWQ2YzIyZmNhYTNjMDE1ODgwNTM2NTMucG5n?x-oss-
process=image/format,png)

进入表 设置展示效果

![file](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ncmFwaC5iYWlkdS5jb20vcmVzb3VyY2UvMjIyYmJiNmNjMzQ2OTFmMTBmNDQ3MDE1ODgwNTM2NjAucG5n?x-oss-
process=image/format,png)

这里根据数据情况 进行各种展示设置

![file](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ncmFwaC5iYWlkdS5jb20vcmVzb3VyY2UvMjIyN2JiMzkxNGY1NWJhMGVhOWFjMDE1ODgwNTM2NzMucG5n?x-oss-
process=image/format,png)

选择sqlLite 进行sql查询

![file](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ncmFwaC5iYWlkdS5jb20vcmVzb3VyY2UvMjIyNmRkOGY2NjIzYzEwYmFiNjZhMDE1ODgwNTM2ODMucG5n?x-oss-
process=image/format,png)

至此实时数据分析平台已经搭建完成,可以进行实时数据的接入,展示,分析等等工作。

java 向kafka中发送数据demo

依赖

    <dependency>
                <groupId>org.apache.kafka</groupId>
                <artifactId>kafka-clients</artifactId>
                <version>1.0.0</version>
            </dependency>

demo

    public class ProducerTestDemo {
        public static void main(String[] args) throws Exception {
    
            Properties properties = new Properties();
            properties.put("bootstrap.servers", "localhost:9092");
            properties.put("acks", "all");
            properties.put("retries", 0);
            properties.put("batch.size", 16384);
            properties.put("linger.ms", 1);
            properties.put("buffer.memory", 33554432);
            properties.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");
            properties.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");
            KafkaProducer<String, String> kafkaProducer = new KafkaProducer<String, String>(properties);
                try{
                    BufferedReader br = new BufferedReader(new FileReader(new File("C:\\aaa.csv")));
                    String s = null;
                    while((s = br.readLine())!=null){
                        kafkaProducer.send(new ProducerRecord<String, String>("topic", s));
                    }
                    br.close();
                }catch(Exception e){
                    e.printStackTrace();
                }
            kafkaProducer.close();
        }
    }

更多实时数据分析相关博文与科技资讯,欢迎关注 “实时流式计算”

![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9pbWcyMDIwLmNuYmxvZ3MuY29tL2Jsb2cvMTA4OTk4NC8yMDIwMDQvMTA4OTk4NC0yMDIwMDQyMDA5MjcyNTU2My0xNzYwMjIzMTk0LnBuZw?x-oss-
process=image/format,png)

在这里插入图片描述

posted on 2021-06-30 14:47  夜的独白  阅读(730)  评论(0)    收藏  举报