配置RocksDB状态存储在砖
您可以启用RockDB-based状态管理通过设置以下配置的SparkSession开始前流查询。
火花。相依。集(“spark.sql.streaming.stateStore.providerClass”,“com.databricks.sql.streaming.state.RocksDBStateStoreProvider”)
RocksDB状态存储度量
每个州运营商收集相关指标状态管理操作上执行其RocksDB实例观察状态存储和潜在帮助调试工作缓慢。这些指标聚合(总和)每个州运营商工作在所有任务的国有运营商正在运行。这些指标的一部分customMetrics
地图在stateOperators
字段StreamingQueryProgress
。下面是一个例子StreamingQueryProgress
在JSON形式(获得使用StreamingQueryProgress.json ()
)。
{“id”:“6774075 e - 8869 - 454 b - ad51 - 513 be86cfd43”,“runId”:“3 d08104d-d1d4-4d1a-b21e-0b2e1fb871c5”,“batchId”:7,“stateOperators”:({“numRowsTotal”:20000000,“numRowsUpdated”:20000000,“memoryUsedBytes”:31005397,“numRowsDroppedByWatermark”:0,“customMetrics”:{“rocksdbBytesCopied”:141037747,“rocksdbCommitCheckpointLatency”:2,“rocksdbCommitCompactLatency”:22061年,“rocksdbCommitFileSyncLatencyMs”:1710年,“rocksdbCommitFlushLatency”:19032年,“rocksdbCommitPauseLatency”:0,“rocksdbCommitWriteBatchLatency”:56155年,“rocksdbFilesCopied”:2,“rocksdbFilesReused”:0,“rocksdbGetCount”:40000000,“rocksdbGetLatency”:21834年,“rocksdbPutCount”:1,“rocksdbPutLatency”:56155599000,“rocksdbReadBlockCacheHitCount”:1988年,“rocksdbReadBlockCacheMissCount”:40341617,“rocksdbSstFileSize”:141037747,“rocksdbTotalBytesReadByCompaction”:336853375,“rocksdbTotalBytesReadByGet”:680000000,“rocksdbTotalBytesReadThroughIterator”:0,“rocksdbTotalBytesWrittenByCompaction”:141037747,“rocksdbTotalBytesWrittenByPut”:740000012,“rocksdbTotalCompactionLatencyMs”:21949695000,“rocksdbWriterStallLatencyMs”:0,“rocksdbZipFileBytesUncompressed”:7038年}}),“源”:({}),“沉”:{}}
详细描述的指标如下:
指标名称 |
描述 |
---|---|
rocksdbCommitWriteBatchLatency |
时间(飞船)申请了上演中写道(WriteBatch)本机RocksDB内存结构。 |
rocksdbCommitFlushLatency |
时间(飞船)带冲洗RocksDB内存中的更改本地磁盘。 |
rocksdbCommitCompactLatency |
时间(飞船)带压实(可选)在检查站提交。 |
rocksdbCommitPauseLatency |
时间(飞船)停止了背景工作线程(压实等)作为检查点的一部分提交。 |
rocksdbCommitCheckpointLatency |
时间(飞船)把拍摄快照的本地RocksDB并将它写入本地目录。 |
rocksdbCommitFileSyncLatencyMs |
(飞船)花了时间同步本机RocksDB快照相关文件到外部存储(检查点位置)。 |
rocksdbGetLatency |
平均时间每底层本地(nano)了 |
rocksdbPutCount |
平均时间每底层本地(nano)了 |
rocksdbGetCount |
大量的土著 |
rocksdbPutCount |
大量的土著 |
rocksdbTotalBytesReadByGet |
通过本地读取的未压缩的字节数 |
rocksdbTotalBytesWrittenByPut |
通过本地写未压缩的字节数 |
rocksdbReadBlockCacheHitCount |
本机RocksDB块缓存的次数是用来避免从本地磁盘读取数据。 |
rocksdbReadBlockCacheMissCount |
次数本机RocksDB块缓存错过了,需要从本地磁盘读取数据。 |
rocksdbTotalBytesReadByCompaction |
从本地磁盘读取的字节数的原生RocksDB压实过程。 |
rocksdbTotalBytesWrittenByCompaction |
的字节数写入到本地磁盘的原生RocksDB压实过程。 |
rocksdbTotalCompactionLatencyMs |
时间(飞船)把RocksDB紧凑排列(背景和可选的压实期间提交)发起的。 |
rocksdbWriterStallLatencyMs |
时间(飞船)作者已经停滞由于背景压实或冲洗memtables到磁盘。 |
rocksdbTotalBytesReadThroughIterator |
一些有状态操作(例如超时处理 |