2016-01-21 2 views
0

Я пытаюсь подсчитать общее количество каждого ключа в двух отдельных столбцах.Как подсчитать несколько столбцов с помощью клавиши reduceby

Я тяну две колонки от Кассандры с:

val data = sc.cassandraTable("Meter","Measured_Value").where("\"Time_Key\" = 1601822").select("Power","Start_Frequency") 

от Я пытался отображения двух столбцов и использование reduceByKey, но не могу получить его на карте правильно.

Я думаю, что мне нужно, чтобы отобразить следующее, но не могу заставить его работать:

power:Float => power,1 
frequency:Double => frequency,1 

А затем сделать .reduceByKey(_ + _)

Но я предполагаю. Любая помощь с синтаксисом была бы весьма признательна.

ответ

0

Попробуйте это:

val data: RDD[(Float,Double)] = sc.cassandraTable("Meter","Measured_Value") 
      .where("\"Time_Key\" = 1601822") 
      .select("Power","Start_Frequency") 
      .as((_:Float,_:Double)) 

val reduced: RDD[(Float,Double)] = data.reduceByKey{ case(left, right) => left + right} 
+0

Я попробовал ваш код, но получите: ': 52: ошибка: не найден: Тип РДД VAL данные: RDD [(Float, Double)] = sc.cassandraTable (» SB1000_47130646 "," Measured_Value ")' @doanduyhai – mithrix

Смежные вопросы