Introduction à PySpark SQL

Certains programmeurs novices ne connaissent pas PySpark SQL. Avant de passer par le PySpark SQL, nous devons d'abord avoir une idée de ce qu'est Spark SQL. Commençons par le Spark SQL, c'est un module d'Apache Spark. Spark SQL fonctionnait avec des données structurées. PySpark SQL est développé pour prendre en charge Python dans Spark.

PySpark SQL est la collaboration de Python avec le Spark SQL. Il est principalement utilisé dans le traitement des données structurées et semi-structurées. L'API fournie par elle peut lire les données d'un grand nombre de sources et ces sources de données peuvent être dans différents formats de données.

Qu'est-ce que PySpark SQL?

C'est un outil pour prendre en charge python avec Spark SQL. Il est développé pour prendre en charge Python dans Spark. Pour une bonne compréhension de PySpark, une connaissance de Python, Big Data et Spark est requise. PySpark SQL gagne lentement en popularité dans les programmeurs de bases de données en raison de ses fonctionnalités importantes.

PySpark SQL fonctionne sur le système distribué et il est également évolutif pour cette raison qu'il est fortement utilisé en science des données. Dans PySpark SQL, l'apprentissage automatique est fourni par la bibliothèque python. Cette bibliothèque Python est connue sous le nom de bibliothèque d'apprentissage automatique.

Caractéristiques de PySpark SQL

Certaines des fonctionnalités importantes de PySpark SQL sont données ci-dessous:

  • Vitesse: elle est beaucoup plus rapide que les grands cadres de traitement de données traditionnels comme Hadoop.
  • Mise en cache puissante: PySpark fournit une couche de programmation simple qui aide à la mise en cache par rapport à la mise en cache des autres frameworks.
  • Temps réel: le calcul dans PySpark SQL a lieu dans la mémoire, c'est pourquoi il est en temps réel.
  • Déploiement: il peut se déployer via Hadoop ou son propre gestionnaire de cluster.
  • Polyglotte: il prend en charge la programmation en Scala, Java, Python et R.

Il est utilisé dans le Big Data et là où il y a du Big Data, cela concerne les analyses de données. C'est l'outil le plus en vogue sur le marché du Big Data Analytics.

Principales utilisations de PySpark SQL

Vous trouverez ci-dessous certains des secteurs où Pyspark est utilisé en majorité:

Industrie du commerce électronique

Dans l'industrie du commerce électronique, PySpark ajoute un rôle majeur. Il est utilisé pour améliorer l'accessibilité des utilisateurs, fournir des offres aux clients ciblés, faire de la publicité aux clients authentiques. Différentes industries de commerce électronique comme eBay, Alibaba, Flipkart, Amazon, etc. l'utilisent pour obtenir des données authentiques à des fins de marketing.

Médias

Différents secteurs moteurs des médias comme Youtube, Netflix, Amazon, etc. utilisent PySpark dans la majorité des cas pour traiter de grandes données afin de les mettre à la disposition des utilisateurs. Ce traitement des données s'effectue en temps réel vers les applications côté serveur.

Bancaire

La banque est un autre secteur important où PySpark est utilisé à un très large niveau. Il aide le secteur financier à traiter des transactions en temps réel pour des millions de traitements d'enregistrement, des publicités auprès de véritables clients, une évaluation du risque de crédit, etc.

Modules PySpark

Certaines des classes importantes et leurs caractéristiques sont données ci-dessous:

  • pyspark.sql.SparkSession: cette classe permet aux programmeurs de programmer dans Spark avec les fonctionnalités DataFrame et SQL. SparkSession utilisé pour créer DataFrame, enregistrer DataFrame en tant que tables, mettre en cache les tables, exécuter SQL sur les tables.
  • pyspark.sql.DataFrame: la classe DataFrame joue un rôle important dans la collecte distribuée de données. Ces données regroupées dans des colonnes nommées. Spark SQL DataFrame est similaire à une table de données relationnelles. Un DataFrame peut être créé à l'aide des méthodes SQLContext.
  • pyspark.sql.Columns: une instance de colonne dans DataFrame peut être créée à l'aide de cette classe.
  • pyspark.sql.Row: une ligne dans DataFrame peut être créée à l'aide de cette classe.
  • pyspark.sql.GroupedData: la classe GroupedData fournit les méthodes d'agrégation créées par groupBy ().
  • pyspark.sql.DataFrameNaFunctions: cette classe fournit les fonctionnalités nécessaires pour travailler avec les données manquantes.
  • pyspark.sql.DataFrameStatFunctions: les fonctions statistiques sont disponibles avec les DataFrames de Spark SQL. La fonctionnalité des fonctions statistiques est fournie par cette classe.
  • pyspark.sql.functions: de nombreuses fonctions intégrées dans Spark sont disponibles pour fonctionner avec les DataFrames. Certaines des fonctions intégrées sont données ci-dessous:
Méthodes intégréesMéthodes intégrées
abs (col)localiser (substr, str, pos = 1)
acos (col)log (arg1, arg2 = Aucun)
add_months (début, mois)log10 (col)
approxCountDistinct (col, res = none)log1p (col)
tableau ((cols))log2 (col)
array_contains (col, valeur)inférieur (col)
asc (col)ltrim (col)
ascii (col)max (col)
asin (col)md5 (col)
un bronzagemoyenne (col)
atan2min (col)
moyenneminute (col)
base64monotonically_increasing_id ()
poubellemois (col)
bitwiseNotmois_entre (date1, date2)
Diffusernanvl (col1, col2)
Broundnext_day (date, dayOfWeek)
cbrtntile (n)
plafondpercent_rank ()
fusion ((col))posexplode (col)
col (col)pow (col1, col2)
collect_list (col)quart (col)
collect_set (col)radians (col)
colonne (col)rand (graine = Aucun
concat (* cols)randn (graine = Aucun)
concat_ws (sep, * col)rang()
conv (col, fromBase, toBase)regexp_extract (str, pattern, idx)
corr (col1, col2)regexp_replace (str, modèle, remplacement)
cos (col)répéter (col, n)
cosh (col)inverse (col)
count (col)rint (col)
countDistinct (col, * cols)rond (col, échelle = 0)
covar_pop (col1, col2)row_number ()
covar_samp (col1, col2)rpad (col, len, pad)
crc32 (col)rtrim (col)
create_map (* cols)deuxième (col)
cume_dist ()sha1 (col)
date actuelle()sha2 (col, numBits)
current_timestamp ()shiftLeft (col, numBits)
date_add (début, jours)shiftRight (col, numBits)
date_format (date, format)shiftRightUnsigned (col, numBits)
date_sub (début, jours)signum (col)
daté (fin, début)péché (col)
dayofmonth (col)sinh (col)
dayofyear (col)taille (col)
décoder (col, charset)asymétrie (col)
degrés (col)sort_array (col, asc = True)
dense_rank ()soundex (col)
desc (col)spark_partition_id ()
encoder (col, charset)split (str, motif)
exp (col)sqrt (col)
exploser (col)stddev (col)
expm1 (col)stddev_pop (col)
expr (str)stddev_samp (col)
factorielle (col)struct (* cols)
premier (col, ignorenulls = False)sous-chaîne (str, pos, len)
étage (col)substring_index (str, delim, count)
format_number (col, d)somme (col)
format_string (format, * cols)sumDistinct (col)
from_json (col, schéma, options = ())bronzage (col)
from_unixtime (horodatage, format = 'aaaa-MM-jj HH: mm: ss')toDegrees (col)
from_utc_timestamp (horodatage, tz)toRadians (col)
get_json_object (col, chemin)to_date (col)
le plus grand (* cols)to_json (col, options = ())
regroupement (col)to_utc_timestamp (horodatage, tz)
grouping_id (* cols)traduire (srcCol, correspondance, remplacer)
hachage (* cols)garniture (col)
hex (cols)trunc (date, format)
heure (col)udf (f, returnType = StringType)
hypot (col1, col2)unbase64 (col)
initcap (col)unhex (col)
nom_fichier_entrée ()unix_timestamp (timestamp = None, format = 'yyyy-MM-dd HH: mm: ss')
instr (str, substr)supérieur (col)
isnan (col)var_pop (col)
isnull (col)var_samp (col)
json_tuple (champs col, *)variance (col)
kurtosis (col)semaine (col)
lag (col, count = 1, default = None)quand (condition, valeur)
dernier (col, ignorenulls = False)window (timeColumn, windowDuration, slideDuration = None, startTime = None)
last_day (date)année (col)
lead (col, count = 1, default = None)moins (* cols), allumé (col)
longueur (col)levenshtein (gauche, droite)

pyspark.sql.types: ces types de classe utilisés dans la conversion des types de données. En utilisant cette classe, un objet SQL peut être converti en un objet Python natif.

  • pyspark.sql.streaming: cette classe gère toutes les requêtes qui s'exécutent en arrière-plan. Toutes ces méthodes utilisées dans le streaming sont sans état. Les fonctions intégrées ci-dessus sont disponibles pour fonctionner avec les dataFrames. Ces fonctions peuvent être utilisées en se référant à la bibliothèque de fonctions.
  • pyspark.sql.Window: Toutes les méthodes fournies par cette classe peuvent être utilisées pour définir et travailler avec des fenêtres dans DataFrames.

Conclusion

C'est l'un des outils utilisés dans le domaine de l'intelligence artificielle et de l'apprentissage automatique. Il est utilisé par de plus en plus d'entreprises pour l'analyse et l'apprentissage automatique. Les professionnels qualifiés y seront plus demandés dans un avenir proche.

Articles recommandés

Ceci est un guide de PySpark SQL. Nous discutons ici de ce qu'est pyspark SQL, ses fonctionnalités, ses principales utilisations, ses modules et ses méthodes intégrées. Vous pouvez également consulter les articles suivants pour en savoir plus -

  1. Spark DataFrame
  2. Questions d'entretiens chez Spark
  3. Fonction de date SQL
  4. Clause SQL HAVING
  5. Architecture Apache Spark avec deux implémentations
  6. Comment utiliser DISTINCT dans Oracle?