dmi*_*ony 3 apache-spark spark-streaming
我正在使用Spark Streaming updateStateByKey()和mapWithState()函数,但我不清楚哪里保存了状态.状态是否保存在HDFS上?或者它是内存存储?如何保证容错?
Spark Streaming目前有两个有状态流实现.一个是较旧的PairRDDFunctions.updateStateByKey(Spark <= 1.5.0),它使用a CoGroupedRDD来存储每个键的状态.名为PairRDDFunctions.mapWithState(Spark> = 1.6.0)的较新版本使用a OpenHashMapBasedStateMap[K, V]来存储内部状态.这两个都是内存中的实现
这两个有状态流都使用检查点作为持久容错的机制.检查点位置可以是HDFS或亚马逊的S3,其中数据在每个间隔持久存在,该间隔由用户使用DStream.checkpoint或将默认为(批处理间隔*常数)定义.使用有状态流时,您有义务指定检查点目录.
| 归档时间: |
|
| 查看次数: |
1577 次 |
| 最近记录: |