web-dev-qa-db-ja.com

アテナを使用してパーティションを作成している間、入力「createexternal」で実行可能な代替手段はありません

パーティション化されたデータをこのようにHive形式でs3に保存しました。

_/bucket/date=2017-02-20 /bucket/date=2017-20-25_

今、私はパーティションを作成するためにAthenaから次のクエリを実行しています

CREATE EXTERNAL TABLE Hive3( battery double, longitude double, application string, latitude double, device_id string, trip_id string, id int, accuracy double, PARTITIONED BY (date string) ) ROW FORMAT SERDE 'org.Apache.Hive.hcatalog.data.JsonSerDe' WITH SERDEPROPERTIES ('serialization.format' = '1') LOCATION 's3://bucket/'

次の例外をスローする

no viable alternative at input 'create external' (service: amazonathena; status code: 400; error code: invalidrequestexception; request id: 6a4e0852-f8b0-11e6-b606-e52f2622374b)

どんな助けでもいただければ幸いです。

ありがとう

6
Shailendra

PARTITIONED BY (date string)は列定義スコープの外にある必要があります

CREATE EXTERNAL TABLE Hive3(
    battery double,
    longitude double,
    application string,
    latitude double,
    device_id string,
    trip_id string,
    id int,
    accuracy double
  )
PARTITIONED BY (date string) 
ROW FORMAT SERDE 'org.Apache.Hive.hcatalog.data.JsonSerDe'
WITH SERDEPROPERTIES ('serialization.format' = '1') 
LOCATION 's3://bucket/'