トレジャーデータ(Treasure Data)ブログ

トレジャーデータ(Treasure Data)ブログです。

本サイトは移転しました。新サイトにリダイレクトします。

データサイエンティストのためのHiveQL分析クエリテンプレート その3

本記事は移転しました。新サイトにリダイレクトします。

*トレジャーデータはデータ収集、保存、分析のためのエンドツーエンドでサポートされたクラウドサービスです。

データサイエンティストのためのHiveQL分析クエリテンプレートシリーズ:

その2に引き続いてB. < m1|Bin(m2), Bin(m3) >に属するパターンを見ていきます。

パターン B-3:< m1 | Bin(m2) >

より一般的なこちらのパターンを見ていきます。

SELECT ceil( #m2/width )*width AS x, SUM(#m1) AS sum

FROM

(

  SELECT #m1, #m2, 1 AS one

  FROM table

  WHERE condition

) t1

JOIN

(

  SELECT POW(10,floor(LOG10(MAX( #m2 )))-1) AS width, 1 AS one

  FROM table

  WHERE condition

) t2

ON t1.one = t2.one

GROUP BY ceil( #m2/width )*width

ORDER BY x 

先ほどは中古車の相場価格の頻度分布を見ましたが,今回はそれぞれの区間での平均走行距離を求めています。

f:id:treasure-data:20140430150605p:plain

価格帯が安いものほど過走行気味ですが,120万円を越える当たりからは平均5万km前後で推移しているようです。

パターン B-4:< m1 | dim1, Bin(m2) >

SELECT ceil( #m2/width )*width AS x, %dim1AVG(#m1) AS avg

FROM

(

  SELECT #m1, #m2, 1 AS one

  FROM table

  WHERE condition

) t1

JOIN

(

  SELECT POW(10,floor(LOG10(MAX( #m2 )))-1) AS width, 1 AS one

  FROM table

  WHERE condition

) t2

ON t1.one = t2.one

GROUP BY ceil( #m2/width )*width, %dim1

ORDER BY x, %dim1

(走行距離×年式別の平均中古車相場価格)セグメント化された走行距離と年式を両軸にしたテーブルを可視化します。各セルには平均中古車相場価格が入ります。

f:id:treasure-data:20140430153906p:plain