2017-03-06 9 views
1

私はハイブ(custid bigint、custname文字列、DOB文字列)にCustomerテーブルを持っています。 DOBには異なる形式の値があります(6/17/1969、08/22/54、2003年1月11日)。 私は、異なる形式の日付を標準化された日付形式(MM/DD/YY)に変換し、それをHiveの別のテーブルに格納するという要件があります。異なるフォーマットからのハイブの日付変換

答えて

0

第一 -
ANSI/ISO標準の日付は、彼らが 異なる方法で解釈できる数値で表現されている場合

YYYY-MM-DDです。たとえば、01/05/12は2012年1月5日または2012年5月1日の を意味する可能性があります。個人的なレベルでは、この不確実性は非常に高く、ビジネス環境では非常に高価な になる可能性があります。 日付が不明な場合は、会議や納品の手配、契約書の作成、 航空券の購入が非常に難しい場合があります。国際 を設定することにより、この不確実性は、日付を表現する方法を合意

ISO 8601タックル:

YYYY-MM-DD

例えば、2012年9月27日は2012年9月27日のように表されます。

https://www.iso.org/iso-8601-date-and-time-format.html

第二 -
もしあなたが古いハイブバージョンにしているとあなたがあなたの日付を保持するために、文字列を使用する必要が何らかの理由で、私は強く、他の日付形式を避けるためにお勧めします、 2つの理由から

1.これは、日付関数でサポートされている唯一の形式です。
2.この形式では、正しいアルファベットの比較が可能です。 -
'2017-01-22'> '2016-09-22 'しかし'01 -22-2017' < '09 -22-2016 '

関連する問題