2016-05-18 12 views
0

ベンダーからデータを取得し、それをHiveにロードしています。タイムスタンプとして日付/時刻フィールドをキャストできません(すべてが文字列として格納されます)。ファンキーなタイムスタンプ形式

yyyy-mm-dd-hh.mm.ss.SSSSSS 
2016-05-18-21.05.21.177152 

私が動作するようにしようとしてきた。しばらくの間、それに対して私の頭をバッシングした後、私は最終的に日付の日の部分と時間の時間部分の間にハイフンがあることに気づきましたfrom_unixtimeでこれを処理する方法ですが、これまでのところ運がありません。私はそれがSimpleDateFormatのための有効なパターンではないと確信しています。

これを処理する方法はありますか?それを2つの文字列に分割し、それらを有効なパターンに連結する必要はありませんか?

答えて

0

substrを使用して日付を分割し、文字列の2番目の部分の ' - 'を置き換えて、両方の文字列を連結します。

from_unixtime(concat(substr(sdate,0,10)),regexp_replace(substr(sdate,10,16),'-',''))) 
関連する問題