2016-11-15 1 views
0

Apache Spark 2.0.1 및 Apache Zeppelin 0.6.2를 실행하고 있습니다.Apache Zeppelin이 집계 데이터를 반환하지 않습니다.

val df = sqlContext 
    .read 
    .format("org.apache.spark.sql.cassandra") 
    .options(Map("table" -> "iot_data2", "keyspace" -> "iot")) 
    .load() 

import org.apache.spark.sql.functions.{avg,round} 

val ts = $"updated_time".cast("long") 

val interval = (round(ts/3600L) * 3600.0).cast("timestamp").alias("time") 

df.groupBy($"a", $"b", $"date_bucket", interval).avg("t").createOrReplaceTempView("iot_avg") 

내가 그래프 플롯하려고 다음 단락하지만, 평균 ("t")의 값이 항상 0 :

%sql 
select time,avg("t") as avg_t from ble_temp_avg where a = '${a}' and b = '${b}' group by time order by time 
제플린에서

, 나는 다음 단락이

나는 정말 명백한 것을 놓치고 있다고 생각하지만 새로운 Spark 및 Zeppelin 사용자가 무엇인지 알지 못합니다.

이 내가 단락 재 작성 후 작동하는 것 같다

답변

0

: 두 번째 단락에서

val df = sqlContext 
    .read 
    .format("org.apache.spark.sql.cassandra") 
    .options(Map("table" -> "iot_data2", "keyspace" -> "iot")) 
    .load() 

import org.apache.spark.sql.functions.{avg,round} 

val ts = $"updated_time".cast("long") 

val interval = (round(ts/3600L) * 3600.0).cast("timestamp").alias("time") 

df.select($"a", $"b", $"date_bucket", interval, $"t").createOrReplaceTempView("iot_avg") 

:

첫 번째 단락에서

%sql 
select time,avg(t) as avg_t from iot_avg where a = 'test1' and b = 'test2' group by time order by time 
관련 문제