Cómo arreglar final índice no debe ser negativo en SQL?

0

Pregunta

Hola yo intente crear una tabla con una simple consulta de la siguiente manera:

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

Sin embargo, me da un error

GENERIC_INTERNAL_ERROR: final del índice (-2147483642) no debe ser negativo

Y tengo que limpiar manualmente los datos de las ubicaciones especificadas en el manifiesto. Athena no borrará los datos en su cuenta.

Así que traté de crear una super tabla en blanco (consulta más abajo) con formato definido para cada métrica y, a continuación, inserte la consulta anterior en esta super tabla. Pero todavía se devuelve el mismo error. Alguien puede ayudarme a solucionar 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');
1

Mejor respuesta

0

No estoy seguro sobre el error (un gran valor de la columna tal vez?). Pruebe este enfoque:

select
   b.week_start_date,
   count(distinct visitor_id) as uu,
   count(distinct session) as session,
   sum(1) as pageview
from table a
join table b on a.date = b.cy_date_num_yyyymmdd
where a.date between '20211107' and '20211113' 
and visitor_id is not null and session_id is not null and event_name = 'pageview'
group by 1
2021-12-06 00:50:41

En otros idiomas

Esta página está en otros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Slovenský
..................................................................................................................