2017-03-07 7 views
0

これは私の最初の試みです。データベースに問題がないので、DBが正しくセットアップされていると確信しています。Amazon Athenaテーブルの作成に失敗しました "入力時に実行可能な代替案がありません" create external ""

また、正規表現が残念だと思いますが、今は無視してください!

私は、ログファイルの形式は、S3に保存されているいくつかのVPCフローのログを持っている:私はAWS example published hereに私のテーブルをベースとしている

2 123456654321 eni-ae343be4 100.75.233.178 172.31.26.162 49178 80 6 6 270 1488872163 1488872180 ACCEPT OK 
2 123456654321 eni-ae343be4 100.75.233.178 172.31.26.162 64013 80 6 2 84 1488872163 1488872180 ACCEPT OK 
2 123456654321 eni-ae343be4 206.97.36.202 172.31.26.162 33164 445 6 2 96 1488872163 1488872180 REJECT OK 

。私が作成したクエリは次のとおりです。検索しようと、私は今、時間のカップルのためにこれを見てきた

line 1:8: no viable alternative at input 'create external' (service: amazonathena; status code: 400; error code: invalidrequestexception; request id: b0cfde99-031c-11e7-b4de-4139fae95147) 

CREATE EXTERNAL TABLE IF NOT EXISTS flow_logs_raw_native (
     version int, 
     account-id bigint, 
     interface-id string, 
     srcaddr string, 
     dstaddr string, 
     srcport int, 
     dstport int, 
     protocol int, 
     packets int, 
     bytes int, 
     Tstart bigint, 
     Tend bigint, 
     action string, 
     log-status string 
) 
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.RegexSerDe' 
WITH SERDEPROPERTIES (
     'serialization.format' = '1','input.regex' = '([^ ]*) ([^ ]*) ([^ ]*) ([^ ]*) ([^ ]*) ([^ ]*) ([^ ]*) ([^ ]*) ([^ ]*) ([^ ]*) ([^ ]*) ([^ ]*) ([^ ]*) ([^ ]*)') LOCATION 's3://vpcflowlogstos3-bucket-1ns5peqxgc31n/flowlogs/'; 

私はクエリを実行するたびに、私はエラーが表示されますスペルミス、要素の欠落などがありますが、私は立ち往生しています!誰がここで間違っているのを見ることができますか?

ありがとう、

ケリー。

答えて

0

ああ、私はそれを得ました!

私はいくつかのフィールド名にハイフンを使用していましたが、これはAthenaではサポートされていません。それらをアンダースコアに変更しました。

関連する問題