java - 无法读取 StateBackend Flink 的 _metadata
问题描述
我刚刚创建了简单的 flink 应用程序并启用了检查点。我看到检查点文件已创建,但我无法读取它们。文件包含无效字符。如何将这些文件转换为可读格式?(任何语言或在线方式的任何解决方案对我来说都可以)
这是检查点文件夹结构
checkpoint_folder -> chk-23 -> _metadata
// _metadata file content:
L�$4c464d1a-1e37-47aa-957e-02f587343bbd��
V��������C�Corg.apache.flink.api.java.typeutils.runtime.TupleSerializerSnapshot���
������������������������������������������������������������������������������������������� �������
当我用崇高的文字打开时:
4960 672d 0000 0002 0000 0000 0000 0122
0000 0000 0000 0004 20ba 6b65 f974 81d5
5700 70de 90e4 e791 0000 000c 0000 0080
0000 0001 0000 000c 0000 0000 ffff ffff
ffff ffff 0000 0000 0000 0001 0400 0000
0100 0673 706c 6974 7300 0000 0000 0100
2465 3165 3133 6662 342d 3838 3061 2d34
3063 392d 3965 6539 2d39 3465 3262 6465
- 入口点:
public static void main(String[] args) throws Exception {
final String checkpointPath="file:///to/path/checkpoint_folder";
// set up the streaming execution environment
final StreamExecutionEnvironment env = StreamExecutionEnvironment.createLocalEnvironment();
env.setStateBackend(new MemoryStateBackend(checkpointPath, null));
env.enableCheckpointing(1000);
}
解决方案
如果您想检查或修改检查点文件,推荐使用状态处理器 API来执行此操作。
ReadRidesAndFaresSnapshot是一个简单的示例,可以读取RidesAndFaresSolution编写的检查点。
推荐阅读
- laravel-5.8 - (此路由不支持 POST 方法。支持的方法:GET、HEAD。) laravel 解决方案?
- c# - UWP:在后面的代码中选择 ListView 的多个项目
- c# - 将视频文件作为“FileContentResult”流式传输:无法转发/后退视频内容
- sas - 使用 SAS SGPLOT 在单个图中叠加个人的时间序列和平均值
- matlab - 将一个矩阵除以另一个大小相等的矩阵以获得标量值
- c# - 点击事件改变按钮颜色
- python - 如何获取用户对象以便获取他们的用户名?
- c - 设计时的 C 宏参数测试
- mysql - 如何使用 sql 将文本格式的日期传递给 DATE 格式
- bash - 根据文件中行的可变长度添加和删除列的脚本