二百零一、Flink——Flink配置状态后端运行后报错:Can not create a Path from an empty string

一、目的

尚硅谷学习用Flink配置状态后端的项目中,运行报错Exception in thread "main" java.lang.IllegalArgumentException: Can not create a Path from an empty string

二、Flink的状态后端(state backend)类型

(一)MemoryStateBackend

复制代码
1、内存级的状态后端,会将键控状态作为内存中的对象进行管理,将它们存储在TaskManager的JVM堆上;2、而将 checkpoint 存储在 JobManager 的内存中。

(二)FsStateBackend

复制代码
1、将checkpoint 存到远程的持久化文件系统(FileSystem)上。
2、而对于本地状态,跟 MemoryStateBackend 一样,也会存在 TaskManager 的 JVM 堆上。

(三)RocksDBStateBackend

复制代码
1、将所有状态序列化后,存入本地的 RocksDB 中存储。
2、注意:RocksDB 的支持并不直接包含在 flink 中,需要引入依赖

三、报错详情

Exception in thread "main" java.lang.IllegalArgumentException: Can not create a Path from an empty string

at org.apache.flink.core.fs.Path.checkAndTrimPathArg(Path.java:168)

at org.apache.flink.core.fs.Path.<init>(Path.java:181)

at org.apache.flink.runtime.state.filesystem.FsStateBackend.<init>(FsStateBackend.java:140)

at cn.kgc.apitest.state.StateTest4_FaultTolerance.main(StateTest4_FaultTolerance.java:31)

四、报错原因

经查,无法从空字符串创建路径是因为状态后端配置的尚硅谷代码里

FsStateBackend和RocksDBStateBackend的参数为空,所以无法通过checkpoint

(一)尚硅谷代码

(二)本地代码

五、解决措施

(一)注释掉这两行代码

复制代码
//     env.setStateBackend( new FsStateBackend(""));
//     env.setStateBackend( new RocksDBStateBackend(""));

(二)改好后运行项目

1、先运行IDEA项目

2、然后在XShell中输入数据

3、在IDEA中出现运行结果

运行成功,没有报错!

又解决了一个问题,日清日高!

相关推荐
小王毕业啦17 小时前
2005-2024年 省级-总抚养比、儿童抚养比、老年人抚养比数据(xlsx)
大数据·人工智能·数据挖掘·数据分析·社科数据·实证分析·经管数据
2501_9272835818 小时前
荣联汇智助力天津艺虹打造“软硬一体”智慧工厂,全流程自动化引领印刷包装行业数智变革
大数据·运维·数据仓库·人工智能·低代码·自动化
还是奇怪19 小时前
AI 提示词工程入门:用好的语言与模型高效对话
大数据·人工智能·语言模型·自然语言处理·transformer
Data_Journal20 小时前
如何使用cURL更改User Agent
大数据·服务器·前端·javascript·数据库
weixin_4462608521 小时前
城市智能化的底层基石:基于腾讯地图服务生态的移动定位与导航架构指引
大数据·人工智能·架构
qq_2837200521 小时前
Vibe Coding 氛围编程入门教程:AI 时代的全新开发范式(零基础到实战)
大数据·人工智能
Volunteer Technology1 天前
ES并发控制
大数据·elasticsearch·搜索引擎
小飞象—木兮1 天前
《销售数据分析标准实践手册》:核心内涵与关键指标、落地销售数据分析的全流程···(附相关材料下载)
大数据·人工智能·数据挖掘·数据分析
盟接之桥1 天前
什么是EDI(电子数据交换)|制造业场景解决方案
大数据·网络·安全·汽车·制造
让我上个超影吧1 天前
从Prompt工程到Harness工程:AI Agent落地的下一代软件工程范式
大数据·人工智能