Oi eu tentar criar uma tabela com uma simples consulta, conforme abaixo:
select distinct
b.week_start_date,
count(distinct visitor_id) as uu,
count(distinct visit_id) as session,
sum(1) FILTER (WHERE event_name = 'pageview') AS pageview
from
table a
join
table b on a.date = b.cy_date_num_yyyymmdd
where
a.date between '20211107' and '20211113'
group by
1
No entanto, eu recebo um erro
GENERIC_INTERNAL_ERROR: fim de índice (-2147483642) não deve ser negativo
E eu precisamos limpar manualmente os dados dos locais especificados no manifesto. Athena não irá apagar os dados em sua conta.
Então eu tentei criar uma super tabela em branco (consultar abaixo) com o formato definido para cada métrica e, em seguida, inserir a consulta acima para este super tabela. Mas ele ainda retorna o mesmo erro. Alguém pode me ajudar a resolver este problema?
CREATE EXTERNAL TABLE IF NOT EXISTS database.super_table
(
week_start_date date,
uu bigint,
session bigint,
pageview bigint
)ROW FORMAT SERDE
'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe'
STORED AS INPUTFORMAT
'org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat'
OUTPUTFORMAT
'org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat'
LOCATION
's3://abc-dataeng-temp-prod/xyz/product/'
TBLPROPERTIES (
'has_encrypted_data'='false',
'parquet.compression'='GZIP');