2017-11-06 4 views
0

多くのJSONファイルを持つS3バケットがあります。JSONのAthena - DATEカラムの正しい値

JSONファイルの例は:

{"id":"x109pri", "import_date":"2017-11-06"} 

"import_date" フィールドには、標準フォーマットYYYY-MM-DDでDATE型です。

これらのJSONファイルをすべてリンクするAthenaにデータベース接続を作成しています。

しかし、Athenaで新しいテーブルを作成し、このフィールドフォーマットをDATEとして指定すると、「内部エラー」が表示され、他の説明は表示されません。明確にするために、テーブルはうまく作成されますが、プレビューまたはクエリを実行する場合は、このエラーが発生します。

ただし、このフィールドをSTRINGとして指定すると正常に動作します。

これはバグですか、またはAthena DATE形式の正しい値にする必要がありますか?

答えて

1

日付カラムタイプは、SerDeおよび/またはデータソースの特定の組み合わせでは機能しません。

たとえば、org.openx.data.jsonserde.JsonSerDeのDATE列を使用すると失敗し、org.apache.hive.hcatalog.data.JsonSerDeが機能します。

したがって、次の表の定義では、JSONのクエリが機能します。

create external table datetest(
    id string, 
    import_date date 
) 
ROW FORMAT serde 'org.apache.hive.hcatalog.data.JsonSerDe' 
LOCATION 's3://bucket/datetest' 
+0

これは機能しました。ありがとう。 – pdolinaj

関連する問題