1

Hive で、ログ ファイルにテーブルを作成しようとしています。次の形式のデータがあります。

  • 1000000000012311 1373346000 21.4 XX

  • 1000000020017331 1358488800 16.9 YY

この 2 番目のフィールドは Unix タイムスタンプです。私は次のHIVE QUERYを書いています:

CREATE EXTERNAL TABLE log(user STRING, tdate TIMESTAMP, spend DOUBLE, state STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY ' ' LINES TERMINATED BY '\n' LOCATION '/user/XXX/YYY/ZZZ';

テーブルが作成されます。しかし、テーブルからデータを取得しようとすると、Select * form log limit 10'; 次のエラーが発生します。

例外 java.io.IOException:org.apache.hadoop.hive.ql.metadata.HiveException: Error Evaluation tdate で失敗しました

HIVE のマニュアルを確認し、Google でも調べましたが、解決策はありませんでした。

4

2 に答える 2

0

Hive はタイムスタンプ データ型をサポートしますが、JDBC で使用する場合、タイムスタンプをデータ型として受け入れることはできません。しかし、これは以前のバージョンでは問題でした。Hive バージョン 0.8.0 から、この問題は修正されました。発生したこの JIRA チケットをチェックアウトできます。

https://issues.apache.org/jira/browse/HIVE-2957

于 2013-09-26T03:07:05.340 に答える