Améliorations des performances grâce au pushdown - Amazon Redshift

Amazon Redshift ne prendra plus en charge la création de nouveaux Python UDFs à compter du 1er novembre 2025. Si vous souhaitez utiliser Python UDFs, créez la version UDFs antérieure à cette date. Le Python existant UDFs continuera à fonctionner normalement. Pour plus d'informations, consultez le billet de blog.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Améliorations des performances grâce au pushdown

Le connecteur Spark applique automatiquement le pushdown des prédicats et des requêtes pour optimiser les performances. Cela signifie que si vous utilisez une fonction prise en charge dans votre requête, le connecteur Spark transformera la fonction en requête SQL et exécutera la requête dans Amazon Redshift. Cette optimisation permet de récupérer moins de données et Apache Spark peut donc traiter moins de données et obtenir de meilleures performances. Par défaut, le pushdown est automatiquement activé. Pour le désactiver, définissez autopushdown sur false.

import sqlContext.implicits._val sample= sqlContext.read .format("io.github.spark_redshift_community.spark.redshift") .option("url",jdbcURL ) .option("tempdir", tempS3Dir) .option("dbtable", "event") .option("autopushdown", "false") .load()

Les fonctions suivantes sont prises en charge avec le pushdown. Si vous utilisez une fonction qui ne figure pas dans cette liste, le connecteur Spark exécutera la fonction dans Spark au lieu d'Amazon Redshift, ce qui se traduira par des performances non optimisées. Pour obtenir la liste complète des fonctions de Spark, consultez Built-in Functions (Fonctions intégrées).

  • Fonctions d'agrégation

    • avg

    • count

    • max

    • min

    • sum

    • stddev_samp

    • stddev_pop

    • var_samp

    • var_pop

  • Opérateurs booléens

    • dans

    • isnull

    • isnotnull

    • contient

    • endswith

    • startswith

  • Opérateurs logiques

    • and

    • or

    • not (ou !)

  • Fonctions mathématiques

    • +

    • -

    • *

    • /

    • - (unaire)

    • abs

    • acos

    • asin

    • atan

    • ceil

    • cos

    • exp

    • floor

    • greatest

    • least

    • log10

    • pi

    • pow

    • round

    • sin

    • sqrt

    • tan

  • Fonctions diverses

    • cast

    • coalesce

    • decimal

    • if

    • dans

  • Opérateurs relationnels

    • !=

    • =

    • >

    • >=

    • <

    • <=

  • Fonctions de chaîne

    • ascii

    • lpad

    • rpad

    • translate

    • upper

    • lower

    • longueur

    • trim

    • ltrim

    • rtrim

    • like

    • substring

    • concat

  • Fonctions de date et d'heure

    • add_months

    • date

    • date_add

    • date_sub

    • date_trunc

    • timestamp

    • trunc

  • Operations mathématiques

    • CheckOverflow

    • PromotePrecision

  • Opérations relationnelles

    • Alias (par exemple, AS)

    • CaseWhen

    • Distinct

    • InSet

    • Jointures et jointures croisées

    • Limites

    • Unions, union all

    • ScalarSubquery

    • Sorts (par ordre croissant et décroissant)

    • UnscaledValue