2017-08-21 7 views
1

私は毎日のレコードを含むハイブテーブルを持っています。私は平日からレコードを選択したい。だから私はそれを行うために蛇のハイブクエリを使用します。私はこれを行うためにQUBOLE APIを使用しています。私はこのコードを実行すると週からレコードを選択する方法は?

SELECT  hour(pickup_time), 
      COUNT(passengerid) 
FROM  home_pickup 
WHERE  CAST(date_format(pickup_time, 'u') as INT) NOT IN (6,7) 
GROUP BY hour(pickup_time) 

はしかし、それはベローエラーで来ました。

SemanticException [エラー10011]:ライン4時12無効な関数 'DATE_FORMAT'

はDATE_FORMAT関数にQboleサポートはありませんか?週日を選択する他の方法はありますか?

答えて

1

unix_timestamp(string date, string pattern)を使用すると、指定された日付形式を1970-01-01からの秒数に変換できます。そして、与えられたフォーマットに変換するためにfrom_unixtime()を使用します。

デモ:

hive> select cast(from_unixtime(unix_timestamp('2017-08-21 10:55:00'),'u') as int); 
OK 
1 

あなたが非標準形式のUNIX_TIMESTAMPの日付パターンを指定することができます。 こちらのドキュメントをご覧ください:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF#LanguageManualUDF-DateFunctions

関連する問題