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
275 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!

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