ハイブの日付値を取得するのが難しいです。私はこのエラーを取得するselect * from test1 limit5
を使用しようとすると私のクエリはハイブの日付列を取得できません
create external table test1(DISPLAYSCALE int, CREATED_DATE date, LAST_EDITED_DATE date)
ROW FORMAT SERDE 'com.esri.hadoop.hive.serde.JsonSerde' STORED AS INPUTFORMAT 'com.esri.json.hadoop.UnenclosedJsonInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat';
です。 java.lang.ClassCastExceptionが: org.apache.hadoop.hive.serde2.io.DateWritableは org.apache.hadoop.io.Textにキャストすることはできません例外 にjava.io.IOExceptionに失敗しました
CREATEEDATEおよびCREATED_DATEのデータ型はesriFieldTypeDateであり、値は2013-11-20 09:39:25.000001のようになります。 テーブルを作成するときに日付データ型を使用し、非クローズドjsonを使用してHDFSにコピーし、select *クエリを使用して列を取得しましたが、上記のエラーが発生します。値を取得するには、dateの代わりにstringデータ型を持つ同じテーブルを作成し、値を取得することができます。
この問題の解決策を提案できますか?この質問はばかげているように思えるかもしれませんが、私はかなりプログラミングに新しいです。
。 –