配置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 |
一些有狀態操作(例如超時處理 |