私は、次のような単純なschema
とDataFrame
は持っている:ピボット
root
|-- amount: double (nullable = true)
|-- Date: timestamp (nullable = true)
私は一日あたりおよび時間当たりの量のsum
を参照しようとしていた、いくつかのように:まあ
+---+--------+--------+ ... +--------+
|day| 0| 1| | 23|
+---+--------+--------+ ... +--------+
|148| 306.0| 106.0| | 0.0|
|243| 1906.0| 50.0| | 1.0|
| 31| 866.0| 100.0| | 0.0|
+---+--------+--------+ ... +--------+
、最初のIカラムhour
を加えた後、私は日ごとにグループ化され、そして時間によって回動。しかし、私は、おそらくいくつかの時間のために不足しているの販売に関連している例外を得ました。これは私が修正しようとしているものですが、私はどのように実現していません。
(df.withColumn("hour", hour("date"))
.groupBy(dayofyear("date").alias("day"))
.pivot("hour")
.sum("amount").show())
例外の抜粋。
AnalysisException:オペレータでu'resolved属性(複数可) 日#5367から欠落している日付#3972、時間の#5354、合計(金額)#5437集計 [DAYOFYEAR(キャスト(日#3972日など! ))]、[DAYOFYEAR(CAST( 日付として日付#3972))日#5367 AS、pivotfirst(時間の#5354、和(量)#5437、0、1、2、 3、4、5、6、 7、8、9、10、11、12、13、14、15、16、17、18、19、20、21、 22、23、0、0)__pivot_sum(量)との和(量)#AS 5487]; '