Вы можете получить желаемый результат с aggregateByKey
из reduceByKey
. Я не проверял свой код с точными данными, которые вы предоставили. Однако основной код должен быть похож на
val geoHashRdd = geoHashDF.map(row ⇒ (row.geohash, row.timehash)).rdd;
val reduceByKey = geoHashRdd.reduceByKey((a , b) => a.concat(b))
OR
geoHashRdd.aggregateByKey("")({case (aggr , value) => aggr + String.valueOf(value)}, (aggr1, aggr2) => aggr1 + aggr2)