こんにちは、私は以下のクエリを使用してHiveのタイムスタンプ列の月と年の部分を抽出しようとしています
select from_unixtime(unix_timestamp(upd_gmt_ts,'yyyyMM')) from abc.test;
出力は2016-05-20 01:08:48のようになります
望ましい出力は201605である必要があります
提案に感謝します。
Hive date_format() (Hive 1.2.0以降)を使用したいと思います。 Java SimpleDateFormat パターンをサポートしています。
date_format()
はdate/timestamp/string
を受け入れます。最終的なクエリは
select date_format(upd_gmt_ts,'yyyyMM') from abc.test;
編集:
SimpleDateFormat
許容パターンの例。
以下のようにCONCATおよびFROM_UNIXTIMEを使用できます。
SELECT CONCAT(YEAR(FROM_UNIXTIME(1468215093)), MONTH(FROM_UNIXTIME(1468215093))) AS YEAR_MONTH
クエリで:
SELECT CONCAT(YEAR(FROM_UNIXTIME(upd_gmt_ts)), MONTH(FROM_UNIXTIME(upd_gmt_ts))) AS YEAR_MONTH
FROM abc.test;
次のクエリを使用してください
SELECT YEAR(FROM_UNIXTIME(unix_timestamp()))*100 + MONTH(FROM_UNIXTIME(unix_timestamp()))
yyyy-mm-dd hh:mm:ss
形式の日付を表示するには、次のように使用できます。
select to_utc_timestamp(col_name, 'PST') * from table;