区块链技术博客
www.b2bchain.cn

数据开发的转行之路求职学习资料

本文介绍了数据开发的转行之路求职学习资料,有助于帮助完成毕业设计以及求职,是一篇很好的资料。

对技术面试,学习经验等有一些体会,在此分享。

面试总结

前言:离线开发 转 实时开发,会不断更新

(2021.3.23 得物一面)
1、state和checkpoint的状态分别存在哪里?

(1)checkpoint【通过barrier机制把state数据持久化存储了】,则表示了一个Flink Job在一个特定时刻的一份全局状态快照,即包含了所有task/operator的状态, checkpoint定时把state数据持久化存储,默认保存到HDFS。
(2)state一般指一个具体的task/operator的状态【state数据默认保存在(Taskmanager的)java堆内存中】,即是将某个算子的运行状态的中间结果,保存到内存中,不太安全,机器重启或者机器挂了就丢失了。
(3)State Backend (状态的后端存储)

  • MemoryStateBackend state数据保存在java堆内存中,执行checkpoint的时候,会把state的快照数据保存到jobmanager的内存中 基于内存的state backend在生产环境下不建议使用
  • FsStateBackend state数据保存在taskmanager的内存中,执行checkpoint的时候,会把state的快照数据保存到配置的文件系统中 可以使用hdfs等分布式文件系统
  • RocksDBStateBackend RocksDB跟上面的都略有不同,它会在本地文件系统中维护状态,state会直接写入本地rocksdb中。同时它需要配置一个远端的filesystem uri(一般是HDFS),在做checkpoint的时候,会把本地的数据直接复制到filesystem中。fail over的时候从filesystem中恢复到本地 RocksDB克服了state受内存限制的缺点,同时又能够持久化到远端文件系统中,比较适合在生产中使用

2、实时数仓怎么建设?

基本对齐离线数仓分层

3、窗口join,窗口开得太大怎么优化?

(1)根据业务减小窗口
(2)增加计算资源
(3)用别的方式join 【第4问就来了】

4、flink join有哪些?

(1)Regular join
(2)Interval Join(不需要开窗):用一个公共Key连接两个流(A 、B),其中流B的元素的时间戳具有相对于流A中的元素的时间戳。
(3)Temproal table join:利用hbase等外部工具存储中间状态,充当了中间表、状态值的作用

挂了。太菜,之前我基本都在做离线,上面的问题也答不全答不深,所以他问我要不要去面下离线,因为我真的想转实时。

面试总结

前言:离线开发 转 实时开发,会不断更新

(2021.3.23 得物一面)
1、state和checkpoint的状态分别存在哪里?

(1)checkpoint【通过barrier机制把state数据持久化存储了】,则表示了一个Flink Job在一个特定时刻的一份全局状态快照,即包含了所有task/operator的状态, checkpoint定时把state数据持久化存储,默认保存到HDFS。
(2)state一般指一个具体的task/operator的状态【state数据默认保存在(Taskmanager的)java堆内存中】,即是将某个算子的运行状态的中间结果,保存到内存中,不太安全,机器重启或者机器挂了就丢失了。
(3)State Backend (状态的后端存储)

  • MemoryStateBackend state数据保存在java堆内存中,执行checkpoint的时候,会把state的快照数据保存到jobmanager的内存中 基于内存的state backend在生产环境下不建议使用
  • FsStateBackend state数据保存在taskmanager的内存中,执行checkpoint的时候,会把state的快照数据保存到配置的文件系统中 可以使用hdfs等分布式文件系统
  • RocksDBStateBackend RocksDB跟上面的都略有不同,它会在本地文件系统中维护状态,state会直接写入本地rocksdb中。同时它需要配置一个远端的filesystem uri(一般是HDFS),在做checkpoint的时候,会把本地的数据直接复制到filesystem中。fail over的时候从filesystem中恢复到本地 RocksDB克服了state受内存限制的缺点,同时又能够持久化到远端文件系统中,比较适合在生产中使用

2、实时数仓怎么建设?

基本对齐离线数仓分层

3、窗口join,窗口开得太大怎么优化?

(1)根据业务减小窗口
(2)增加计算资源
(3)用别的方式join 【第4问就来了】

4、flink join有哪些?

(1)Regular join
(2)Interval Join(不需要开窗):用一个公共Key连接两个流(A 、B),其中流B的元素的时间戳具有相对于流A中的元素的时间戳。
(3)Temproal table join:利用hbase等外部工具存储中间状态,充当了中间表、状态值的作用

挂了。太菜,之前我基本都在做离线,上面的问题也答不全答不深,所以他问我要不要去面下离线,因为我真的想转实时。

面试总结

前言:离线开发 转 实时开发,会不断更新

(2021.3.23 得物一面)
1、state和checkpoint的状态分别存在哪里?

(1)checkpoint【通过barrier机制把state数据持久化存储了】,则表示了一个Flink Job在一个特定时刻的一份全局状态快照,即包含了所有task/operator的状态, checkpoint定时把state数据持久化存储,默认保存到HDFS。
(2)state一般指一个具体的task/operator的状态【state数据默认保存在(Taskmanager的)java堆内存中】,即是将某个算子的运行状态的中间结果,保存到内存中,不太安全,机器重启或者机器挂了就丢失了。
(3)State Backend (状态的后端存储)

  • MemoryStateBackend state数据保存在java堆内存中,执行checkpoint的时候,会把state的快照数据保存到jobmanager的内存中 基于内存的state backend在生产环境下不建议使用
  • FsStateBackend state数据保存在taskmanager的内存中,执行checkpoint的时候,会把state的快照数据保存到配置的文件系统中 可以使用hdfs等分布式文件系统
  • RocksDBStateBackend RocksDB跟上面的都略有不同,它会在本地文件系统中维护状态,state会直接写入本地rocksdb中。同时它需要配置一个远端的filesystem uri(一般是HDFS),在做checkpoint的时候,会把本地的数据直接复制到filesystem中。fail over的时候从filesystem中恢复到本地 RocksDB克服了state受内存限制的缺点,同时又能够持久化到远端文件系统中,比较适合在生产中使用

2、实时数仓怎么建设?

基本对齐离线数仓分层

3、窗口join,窗口开得太大怎么优化?

(1)根据业务减小窗口
(2)增加计算资源
(3)用别的方式join 【第4问就来了】

4、flink join有哪些?

(1)Regular join
(2)Interval Join(不需要开窗):用一个公共Key连接两个流(A 、B),其中流B的元素的时间戳具有相对于流A中的元素的时间戳。
(3)Temproal table join:利用hbase等外部工具存储中间状态,充当了中间表、状态值的作用

挂了。太菜,之前我基本都在做离线,上面的问题也答不全答不深,所以他问我要不要去面下离线,因为我真的想转实时。

部分转自互联网,侵权删除联系

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » 数据开发的转行之路求职学习资料
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们