1、富函数 - 函数类接口,可以获取运行环境的上下文,实现更复杂的功能
2、数据重分区操作
3、sink操作
sink - kafka
1、引入kafka的pom依赖
bash
<dependency>
<groupId>org.apache.flink</groupId>
<!--<artifactId>flink-connector-kafka_${scala.binary.version}</artifactId>-->
<!--<version>${flink.version}</version>-->
<artifactId>flink-connector-kafka-0.11_2.12</artifactId>
<version>1.10.1</version>
</dependency>
2.启动 zookeeper
bash
$ bin/zookeeper-server-start.sh config/zookeeper.properties
3.启动 kafka 服务
bash
$ bin/kafka-server-start.sh config/server.properties
4.启动 kafka 生产者
bash
$ bin/kafka-console-profucer.sh --broker-list localhost:9092 --topic sensor
5.运行 Flink 程序,在 kafka 生产者输入数据,查看 kafka 消费者的输出结果
![在这里插入图
sink - redis
1、添加 pom 依赖
2、 java代码
3、启动 redis
bash
redis-server..exe redis.windows.conf
原来的不要关闭,启动另一个窗口
bash
redis-cli.exe -h 127.0.0.1 -p 6379
4、运行程序,进行查询
sink-JDBC自定义sink-mysql
1.pom依赖
错误
1 启动 zookeeper,却无法启动 kafka
原因:kafka 日志被异常清理导致进程频繁挂掉
linux 会定时清理 /tmp 目录下的文件, kafka 日志文件目录正是放在了 /tmp/kafka-logs目录下,导致被定时给清理掉了,所以 kafka 在尝试读取或追加日志时就会出错。
修改:配置文件中的log.dirs
bash
vi ./config/server.properties
重启kafka
2 另一个程序正在使用此文件,进程无法访问
原因:该问题是因为在关闭启动命令窗口时,直接点击右上角的×号关闭,下次启动就会出现该问题。
正确的关闭窗口方法:在启动窗口按ctrl+C
输入字母---Y则可成功关闭。需要注意的是该选择可能需要等待一会。这样子关闭窗口下次就可以正常启动了。
3由于 window 自带的 linux 子系统,由于是个 mini 的系统,没有其他功能,也无法下载软件 ,因此 windows 版本的 redis,在 window 中的 cmd 中测试