in wayang-benchmark/code/main/scala/org/apache/wayang/apps/terasort/TeraApp.scala [104:125]
def sizeStrToBytes(str: String): Long = {
val reg = "(\\d+(\\.\\d+)?)([B|k|K|m|M|g|G|t|T])"
val groups = Pattern.compile(reg).matcher(str)
groups.find()
val number_part:Double = groups.group(1).toDouble
val letter_part:String = groups.group(3)
val conversion = letter_part match {
case "B" => 1L //2^0
case "k" => 1024L //2^10
case "K" => 1024L //2^10
case "m" => 1048576L //2^20
case "M" => 1048576L //2^20
case "g" => 1073741824L //2^30
case "G" => 1073741824L //2^30
case "t" => 1099511627776L //2^40
case "T" => 1099511627776L //2^40
case _ => 1L //2^0
}
(number_part * conversion).toLong
}