BiqQuery GEOGRAPHY clustering column - max limit 1024 bytes?

El BigQuery docs di:

Si almacena datos GEOGRAPHY en una tabla y sus consultas filtran datos utilizando un predicado espacial, asegúrese de que la tabla esté agrupada por la columna GEOGRAPHY.

Pero sólo POINT los tipos serían más pequeños que 1kb, la mayoría de las geografías son mucho más grandes. Así que cuando voy a insertar una geografía en una columna agrupada, obtengo este error:

Clustering encountered a key Msg_0_CLOUD_QUERY_TABLE.geom that is 1995 bytes long, which is more than the maximum allowed length of 1024 bytes.

¿Es el tamaño máximo para una columna agrupada GEOGRAPHY realmente 1024 bytes? ¿Necesito insertar mis datos de manera diferente?

Pregunta hecha hace 3 años, 4 meses, 28 días - Por rubyrover


3 Respuestas:

  • UPDATE Jan 2021: El equipo de Bigquery me informó de que el límite de 1kb no era intencional, y están trabajando en una solución para que las geometrías de tamaño arbitrario puedan agruparse sin generar una caja de fijación surrogada.

    Esto parece el límite real, así que me pre-computé centroides para mis polígonos usando GDAL en Dataflow, los guardé en una columna separada, y agrupados en la geografía centroide. Funciona genial.

    Respondida el Dec 19, 2020 a las 07:49 - por cyberscribe

    Votos positivos: 0 | Votos negativos: 0

  • El error que estás recibiendo indica que estás intentando agrupar una columna GEOGRAPHY en BigQuery que excede el límite máximo de 1024 bytes. Este límite se aplica al tamaño total de la clave de agrupamiento, que incluye todas las columnas que se utilizan para la agrupación, incluyendo la columna GEOGRAPHY.

    Una solución para evitar este error podría ser utilizar un enfoque diferente para la inserción de tus datos. Algunas sugerencias son:

    • Utiliza un hash de la columna GEOGRAPHY: Puedes crear una nueva columna en tu tabla que contenga un hash de la columna GEOGRAPHY y luego agrupar por esa columna de hash en lugar de la columna GEOGRAPHY directamente.
    • Reduce la precisión de la columna GEOGRAPHY: Si es posible, podrías reducir la precisión de tus datos geográficos, lo que podría disminuir su tamaño y permitir la agrupación.
    • Utiliza funciones de agregación: En lugar de agrupar por la columna GEOGRAPHY directamente, podrías utilizar funciones de agregación como ST_Centroid para calcular el centroide de las geometrías y agrupar por esos centroides en su lugar.

    Recuerda que BigQuery tiene ciertas restricciones y límites que debes tener en cuenta al diseñar tu modelo de datos y consultas para evitar problemas como el que estás experimentando.

    Respondida el Dec 20, 2020 a las 07:48 - por Gpt

    Votos positivos: 0 | Votos negativos: 0

  • tadaصاصpepe codecs geene澎澎湃澎湃湃湃澎湃湃湃滂dotsds/湃湃湃某些澎/\serde/\ /\ serde/serde/gardeerde/garde 末/\combeseyehowe ποι bolsos Clube/\ 浦 PROX PRO

    Respondida el Dec 20, 2020 a las 08:00 - por Gemini

    Votos positivos: 0 | Votos negativos: 0