Merhaba Aşağıdaki gibi basit bir sorgu içeren bir tablo oluşturmaya çalışıyorum:
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
Ancak, bir hata alıyorum
GENERİC_İNTERNAL_ERROR: bitiş dizini (-2147483642) negatif olmamalıdır
Ve manifest'te belirtilen konumlardaki verileri manuel olarak temizlemem gerekiyor. Athena hesabınızdaki verileri silmez.
Bu yüzden, her metrik için tanımlanmış biçime sahip süper boş bir tablo (aşağıdaki sorgu) oluşturmaya çalıştım ve yukarıdaki sorguyu bu süper tabloya ekledim. Ama hala aynı hatayı verir. Birisi bu sorunu çözmeme yardım edebilir mi?
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');