Prácticas recomendadas para usar Amazon Redshift Spectrum - AWS Guía prescriptiva

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Prácticas recomendadas para usar Amazon Redshift Spectrum

En esta sección se proporciona información general sobre las prácticas recomendadas para utilizar Amazon Redshift Spectrum. Le recomendamos que siga estas prácticas recomendadas para lograr un rendimiento óptimo cuando utilice Redshift Spectrum:

  • Tenga en cuenta que los tipos de archivos tienen una influencia significativa en el rendimiento de las consultas de Redshift Spectrum. Para mejorar el rendimiento, utilice archivos codificados en columnas, como ORC o Parquet, y utilice el formato CSV solo para tablas de dimensiones muy pequeñas.

  • Utilice la partición basada en prefijos para aprovechar la reducción de particiones. Esto significa usar filtros que estén conectados a las particiones de su lago de datos.

  • Redshift Spectrum se escala automáticamente para procesar solicitudes grandes, así que haga todo lo posible en Redshift Spectrum (por ejemplo, pulsando predicados).

  • Presta atención a los archivos de partición en las columnas que se filtran con frecuencia. Si los datos se dividen en una o más columnas filtradas, Redshift Spectrum puede aprovechar la reducción de particiones y omitir el escaneo de particiones y archivos innecesarios. Una práctica habitual es particionar datos según el tiempo.

  • Puede comprobar la eficacia de sus particiones y la eficiencia de su consulta de Redshift Spectrum mediante la siguiente consulta.

    Select query, segment, max(assigned_partitions) as total_partitions, max(qualified_partitions) as qualified_partitions From svl_s3partition Where query=pg_last_query_id() Group by 1,2;

    La consulta anterior muestra lo siguiente:

    • total_partition: el número de particiones reconocidas por el AWS Glue Data Catalog

    • qualified_partitions — El número de prefijos de Amazon Simple Storage Service (Amazon S3) a los que se accede para la consulta de Redshift Spectrum

  • También puede consultar la tabla del SVL_S3QUERY_SUMMARY sistema para obtener información sobre la eficacia de sus particiones y la eficiencia de su consulta de Redshift Spectrum. Para ello, utilice la siguiente instrucción.

    Select * From svl_s3query_summary Where query=pg_last_query_id();

    La consulta anterior devuelve incluso más información, incluidosis_partitioned, y s3_returned_rows/bytes valoress3_scanned_rows/bytes, además de archivos que muestran la eficacia de la reducción de particiones.

Pulsación de predicados en Redshift Spectrum

El uso de predicate pushdown evita consumir recursos del clúster de Amazon Redshift. Puede transferir muchas operaciones de SQL a la capa Redshift Spectrum. Recomendamos aprovechar esto siempre que sea posible.

Tenga en cuenta lo siguiente:

  • Puede evaluar algunos tipos de operaciones de SQL completamente dentro de la capa Redshift Spectrum, incluidas las siguientes:

    • GROUP BYcláusulas

    • Condiciones de comparación y coincidencia de patrones (por ejemplo,) LIKE

    • Funciones de agregado (por ejemplo,COUNT, SUMAVG, MIN y) MAX

    • regex_replace, to_upperdate_trunc, y otras funciones

  • No puede enviar algunas operaciones a la capa Redshift Spectrum, incluidas DISTINCT y. ORDER BY Realice ORDER BY solo en el nivel superior de la consulta si es posible, ya que la clasificación se realiza en el nodo principal.

  • Examine su EXPLAIN plan de consultas para comprobar si la compresión de predicados es efectiva. Para encontrar partes de Redshift Spectrum en un EXPLAIN comando, sigue estos pasos:

    • S3 Seq Scan

    • S3 HashAggregate

    • S3 Query Scan

    • Escaneo marino PartitionInfo

    • Partition Loop

  • Utilice el menor número de columnas en la consulta. Redshift Spectrum puede eliminar las columnas para escanear si los datos están en formato Parquet u ORC.

  • Haga un uso extensivo de las particiones para el procesamiento paralelo y la eliminación de particiones, y mantenga el tamaño de los archivos en al menos 64 MB si es posible.

  • Configure TABLE PROPERTIES 'numRows'='nnn' si usa CREATE EXTERNAL TABLE oALTER TABLE. Amazon Redshift no analiza las tablas externas para generar estadísticas de tablas que el optimizador de consultas utiliza para generar un plan de consultas. Si las estadísticas no están definidas, Amazon Redshift asume que las tablas externas son las tablas más grandes y las tablas locales son las tablas más pequeñas.

Consejos de ajuste de consultas para Redshift Spectrum

Le recomendamos que tenga en cuenta lo siguiente al ajustar las consultas:

  • El número de nodos de Redshift Spectrum que el clúster de Amazon Redshift puede utilizar para una consulta depende del número de segmentos del clúster.

  • Redimensionar el clúster puede beneficiar a los perfiles de cómputo locales, los perfiles de almacenamiento y las capacidades de consulta de la consulta del lago de datos de Amazon S3.

  • El planificador de consultas de Amazon Redshift envía predicados y agrupaciones a la capa de consultas de Redshift Spectrum siempre que sea posible.

  • Cuando se devuelven grandes cantidades de datos de Amazon S3, el procesamiento se ve limitado por los recursos del clúster.

  • Como Redshift Spectrum se escala automáticamente para procesar solicitudes grandes, su rendimiento general mejora siempre que pueda transferir el procesamiento a la capa Redshift Spectrum.