web-dev-qa-db-ja.com

ハイブ-タイムスタンプ列の月と年

こんにちは、私は以下のクエリを使用してHiveのタイムスタンプ列の月と年の部分を抽出しようとしています

select from_unixtime(unix_timestamp(upd_gmt_ts,'yyyyMM')) from  abc.test;

出力は2016-05-20 01:08:48のようになります

望ましい出力は201605である必要があります

提案に感謝します。

5
divyanair

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許容パターンの例。

enter image description here

15
mrsrinivas

以下のように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;
1
Pathik Vejani

次のクエリを使用してください

SELECT YEAR(FROM_UNIXTIME(unix_timestamp()))*100 + MONTH(FROM_UNIXTIME(unix_timestamp()))
1
GauravS

yyyy-mm-dd hh:mm:ss形式の日付を表示するには、次のように使用できます。

select to_utc_timestamp(col_name, 'PST') * from table;
0
Ramesh babu M