Maison > base de données > tutoriel mysql > Comment SparkSQL gère-t-il les sous-requêtes dans différentes versions ?

Comment SparkSQL gère-t-il les sous-requêtes dans différentes versions ?

Patricia Arquette
Libérer: 2025-01-03 14:24:39
original
243 Les gens l'ont consulté

How Does SparkSQL Handle Subqueries in Different Versions?

Prise en charge SparkSQL des sous-requêtes

Dans Spark, les sous-requêtes sont actuellement prises en charge sous des formes limitées. Spark 2.0 et les versions ultérieures offrent une prise en charge étendue des sous-requêtes, y compris des variantes corrélées et non corrélées. Cependant, dans les versions Spark antérieures à 2.0, les sous-requêtes ne sont autorisées que dans la clause FROM, comme dans les versions 0.12 et antérieures de Hive.

Erreur de sous-requête dans la clause WHERE

L'erreur L'erreur rencontrée lors de l'exécution de la requête fournie dans le shell Spark est due au fait que les sous-requêtes de la clause WHERE ne sont pas prises en charge dans Spark avant la version 2.0. L'erreur souligne que l'analyseur s'attendait à une parenthèse mais a rencontré la fonction MAX à la place, indiquant que la syntaxe est incorrecte.

Support dans Spark 2.0

Dans Spark 2.0 et versions ultérieures , les sous-requêtes peuvent être utilisées dans les clauses FROM et WHERE. La requête fournie peut être réécrite comme suit :

sqlContext.sql("select sal from samplecsv where sal < (select max(sal) from samplecsv)").collect().foreach(println)
Copier après la connexion

Limitations dans Spark < 2.0

Dans les versions Spark antérieures à 2.0, les sous-requêtes ne sont prises en charge que dans la clause FROM. Les sous-requêtes corrélées, dans lesquelles la sous-requête fait référence aux colonnes de la requête externe, ne sont pas prises en charge. Pour obtenir une fonctionnalité similaire, des jointures cartésiennes doivent être utilisées à la place.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal