Привет, я пытаюсь создать таблицу с помощью простого запроса, как показано ниже:
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
Однако я получаю ошибку
GENERIC_INTERNAL_ERROR: конечный индекс (-2147483642) не должен быть отрицательным
И мне нужно вручную очистить данные из мест, указанных в манифесте. Афина не будет удалять данные в вашей учетной записи.
Поэтому я попытался создать супер пустую таблицу (запрос ниже) с определенным форматом для каждой метрики, а затем вставить приведенный выше запрос в эту супер таблицу. Но он все равно возвращает ту же ошибку. Может кто-нибудь помочь мне решить эту проблему?
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');