2016-05-04 9 views
0

ベンダー・オラクルDBにcreation_timestampの値をtimestamp(6)として保存しているときに、そのテーブルの抽出を作成してHDFSにロードし、そのカラムをハイブ・スキーマとして作成すると、timestampとして定義されています。しかし、もし私がを使用すると、それはすべてそこにあります。私は他のMSSQL datetimeデータが正常にtimestampとしてハイブに格納されているので、私はちょっと不確かなので、oracle timestampデータが入力されていません。 Strings: JDBC compliant java.sql.Timestamp format "YYYY-MM-DD HH:MM:SS.fffffffff" (9 decimal place precision)オラクルとハイブ・タイムスタンプ

私はオラクルtimestamp(6)変換することができますどのように:上記のようjava.sql.Timestamp format07-JAN-15 05.55.20.732754000 PMを私はハイブでは、ドキュメントの状態などの文字として月気に入らない気持ちを持っている07-JAN-15 05.55.20.732754000 PM

のOracle timestmapは次のようになります?

答えて

0

ハイブにto_dateを使用してください。

例:

select TO_DATE(from_unixtime(UNIX_TIMESTAMP('7-MAR-13', 'd-MMMM-yy'))) from table_name 

参照してください:date functions

+0

私はタイムスタンプの精度... –

+0

'd-MMM-yy'の代わりにフォーマットを与え、それを行うべき 'キャスト(to_date(..)as timestamp)'を試してください。 –

1

を、私は私のセッションを変更して、テーブルをエクスポートすることができた、ハイブは今timestamp

ALTER SESSION SET NLS_TIMESTAMP_FORMAT = 'YYYY-MM-DD HH24:MI:SS.FF';
07-JAN-15 05.55.20.732754000 PMされるとして、それを受け入れています今:2015-01-07 17:55:20.732754000