在spark中使用for循环会不会对性能造成影响
来源:5-5 将统计结果写入到MySQL中

孤独观测者
2020-08-11
在spark中使用for循环会不会对性能造成影响
2回答
-
举个例子看看
032020-08-11 -
孤独观测者
提问者
2020-08-11
hbaseRDD.filter(x =>{
val time = Bytes.toString(x._2.getValue(Bytes.toBytes("info"), Bytes.toBytes("time")))
time > "2020-08-11T00:00:00"
}).map(x => {
// 根据mac来对数据进行分组
val id = Bytes.toString(x._2.getValue(Bytes.toBytes("info"), Bytes.toBytes("id")))
val mac = Bytes.toString(x._2.getValue(Bytes.toBytes("info"), Bytes.toBytes("mac")))
val time = Bytes.toString(x._2.getValue(Bytes.toBytes("info"), Bytes.toBytes("time")))
val companyId = Bytes.toString(x._2.getValue(Bytes.toBytes("info"), Bytes.toBytes("companyId")))
(mac, Bike(mac, time, id, companyId))
}).groupByKey().collect().map(x => {
//得到同一单车mac下所有的Bike
val mac = x._1
val value:Iterable[Bike] = x._2
var list:ListBuffer[Bike] = new ListBuffer[Bike]()
var tmp:String = value.iterator.next().id
list+=value.iterator.next()
println("单车:"+mac)
for (elem <- value) {
println(" 时间: "+ elem.time+",单车轨迹"+elem.id)
if(elem.id != tmp){
list+=elem
tmp = elem.id
}
}
println("测试:"+ list)
list
})042020-08-12
相似问题