apache-flink - 是否可以以编程方式设置 flink `state.checkpoint.dir`?
问题描述
我们flink-conf.yaml
的项目中有本地运行。我们希望能够在本地运行 flink 进行测试。我们团队的一部分人使用 Mac,另一部分人使用 PC。我们想设置state.checkpoint.dir
一些普遍接受的路径,最好在用户的主目录下。问题是,是否可以根据我们正在运行的操作系统以编程方式设置它,如果没有,在此设置中是否有当前用户主目录的通用快捷方式,如 *NIX 上的“~”?
解决方案
这是一个示例,展示了如何以编程方式设置 Flink 的配置设置:
Configuration conf = new Configuration();
conf.setString("state.checkpoints.dir", "file:///tmp/checkpoints");
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(conf);
System.getProperty("os.name")
将告诉您客户端正在哪个操作系统上运行,对于本地运行应该足够好。
您还可以从命令行设置任何配置参数,例如,
flink run -Dstate.checkpoints.dir="/tmp/checkpoints" foo.jar
代码中的设置优先于命令行,命令行优先于flink-conf.yaml
.
推荐阅读
- python - 使用 django-filter 库和 CBV 进行分页
- javascript - 在 React Native 中创建时间线
- android - 如何使用主活动中的按钮从主活动向片段布局添加随机颜色
- swift - PieChart 在 swift 上使用图表。需要删除元素的值
- bioinformatics - Platanus_allee 基因组组装程序失败的组装错误
- javascript - django 没有给我文件,即使它的链接被定向到文件
- c# - 临界区与 Thread.Abort()
- kml - 在 Google 地球中显示带有原点和方向的矢量
- python-3.x - 激活虚拟环境环境
- mysql - 使用 UNION 连接 2 个表的 MySQL 问题