Это моя первая попытка создать свою собственную таблицу в Athena, поэтому будьте осторожны :) У меня есть несколько других таблиц, основанных на примерах AWS, работающих в этой базе данных без проблем, поэтому я уверен, что БД настроена правильно.
Кроме того, я уверен, что мое регулярное выражение ужасное, попробуйте пока игнорировать его!
У меня есть журналы потоков vpc, хранящиеся на S3, формат файлов журналов:
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
Я основал свою таблицу на Пример AWS опубликован здесь. Я создал следующий запрос:
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/';
Каждый раз, когда я запускаю запрос, я получаю сообщение об ошибке:
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)
Я смотрел на это уже пару часов, пытаясь найти орфографическую ошибку или отсутствующий элемент, но я застрял! Кто-нибудь может увидеть, что здесь не так?
Спасибо,
Келли.