我正尝试在groupby
上使用transactionDay
方法并获取sum
的{{1}}。并打印输出。
transactionAmount
我创建了一个这样的列表:
case class Transaction(
transactionId: String,
accountId: String,
transactionDay: Int,
category: String,
transactionAmount: Double)
任何人都可以帮助您使用val transactions: List[Transaction] = transactionslines.map { line =>
val split = line.split(',')
Transaction(split(0), split(1), split(2).toInt, split(3), split(4).toDouble)
}.toList
方法。
如果您有任何文件要分享,那将非常有帮助。
答案 0 :(得分:2)
以下代码应该可以帮助您获得所需的解决方案
val transactions = transactionslines.map( line => line.split(","))
.map(split => Transaction(split(0), split(1), split(2).toInt, split(3), split(4).toDouble))
transactions.groupBy(_.transactionDay).mapValues(trans => trans.map(amount => amount.transactionAmount).sum).foreach(println)