-
Notifications
You must be signed in to change notification settings - Fork 0
/
FirstPassStats
25 lines (19 loc) · 721 Bytes
/
FirstPassStats
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package flowbot.dataquality
import scala.collection.mutable
class FirstPassStats extends Serializable {
var columnStatsMap = new mutable.HashMap[Integer, ColumnStats]
def +=(colIndex: Int, colValue: Any, colCount: Long): Unit = {
columnStatsMap.getOrElseUpdate(colIndex, new ColumnStats) += (colValue, colCount)
}
def +=(firstPassStatsModel: FirstPassStats): Unit = {
firstPassStatsModel.columnStatsMap.foreach { e =>
val columnStats = columnStatsMap.getOrElse(e._1, null)
if (columnStats != null) {
columnStats += (e._2)
} else {
columnStatsMap += ((e._1, e._2))
}
}
}
override def toString = s"FirstPassStatsModel(columnStatsMap=$columnStatsMap)"
}