Witam, próbuję stworzyć tabelę za pomocą prostego zapytania, jak pokazano poniżej:
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
Jednak pojawia się błąd:
GENERIC_INTERNAL_ERROR: końcowy indeks (-2147483642) nie musi być ujemna
I muszę ręcznie wyczyścić dane z miejsc, o których mowa w manifeście. Atena nie będzie usuwać dane do konta.
Dlatego starałem się stworzyć super pustą tabelę (żądanie poniżej) z określonym formatem dla każdej metryki, a następnie wkleić powyższy wniosek w tej super tabeli. Ale on wciąż zwraca ten sam błąd. Czy ktoś może mi pomóc rozwiązać ten problem?
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');