Нужна помощь в создании схемы для приведенного ниже формата журнала. Я использую Athena для запроса нескольких журналов, которые имеют этот формат, но у меня проблема с созданием таблицы для этого указанного c формата журнала. Я попробовал пару разных попыток и потерпел неудачу. Ниже также приведена последняя попытка создания оператора таблицы, но она также продолжает сбой.
CREATE TABLE "fastly_logs" (
"some_num" int,
"timestamp1" timestamp,
"cache_value" string,
"some_fastly" string,
"log_info" struct <
request_ipv4: string,
request_https: int,
request: string,
request_host: string,
request_uri: string,
http_code: int,
response: int,
req_header_size: int,
req_body_size: int,
resp_header_size: int,
resp_body_size: int,
content_type: string,
pop: string,
device_type: string,
referrer: string,
request_user_agent: string,
info_state: string,
hits: int,
tls_version: string,
>
)
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.RegexSerDe'
WITH SERDEPROPERTIES (
'serialization.format' = '1',
'input.regex' = '^\D(\d{3})\D (\d{4}-\d{2}-\d{2}T.*Z) (cache-\D+{3}+\d{4,10}) (Prod-fastly\D+\d{6}\D) {(.*)}'
)
LOCATION 's3://prod-fastly/'
TBLPROPERTIES ('has_encrypted_data'='true')
Формат журнала:
<134>2020-02-10T16:04:22Z cache-dca17767 Prod-fastly[476113]: {"timestamp":"Mon, 10 Feb 2020 16:04:22 GMT", "request_ipv4":"111.111.111.111", "request_https":"true", "tls_version":"TLSv1.2", "request":"POST", "request_host":"test.example.com", "vp_stem":"www", "request_uri":"/this/ajax-test", "http_code":200, "response":"OK", "req_header_size":1215, "req_body_size":54, "resp_header_size":916, "resp_body_size":16, "content_type":"application/json", "pop":"DCA", "device_type":"", "referrer":"https://test.example.copm/some/path", "request_user_agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.87 Safari/537.36", "info_state":"PASS", "hits":0 }