2016-09-26 7 views
0
ハイブ

のタイムスタンプの差の平均を得るために、私は、この表がこれを下回る2つの列どのよう

hive> select * from hivetable; 

a 2016-09-16T03:01:12.367782Z 
b 2016-09-16T03:01:12.300514Z 
c 2016-09-16T03:01:12.241532Z 
a 2016-09-16T03:01:12.138016Z 
c 2016-09-16T03:01:12.136986Z 
b 2016-09-16T03:01:10.512201Z 
c 2016-09-16T03:01:12.235671Z 

Time taken: 0.457 seconds, Fetched: 7 row(s) 

含まれており、今私は、最初の列から一意の値とタイムスタンプの違いを見つけたいか、私は平均的なタイムスタンプを言う必要がありますcの場合のように2つ以上のレコードがある場合の違い。ので、私の場合には出力が

a 1 day 5 hr 30 min 20 sec 
b 5 sec 
c 30 minutes 

ノートのようにする必要があります:それはただのサンプル出力ではなく、実際の出力

であることは、この出力またはハイブ内の任意の同様のものを取得することはできますか?

+0

質問に関連しないタグを削除してください。 – scaisEdge

+0

私は変更を行いました。 – user3847894

+0

https://cwiki.apache.org/confluence/display/Hive/LanguageManual+WindowingAndAnalyticsのlag()関数またはlead()関数を参照してください。 –

答えて

1

グループ化の前の行を選択するには、ウィンドウ関数を使用する必要があります。私はそれがちょうど1つのクエリに圧縮することができるとは思わない。