- Υλοποίηση αρχιτεκτονικής client-server χρησιμοποιώντας το Spark Connect που αποσυνδέει την εκτέλεση συμπλέγματος από το τοπικό περιβάλλον.
- Ενημερωμένη υποστήριξη για Java 17, 21 και 25, μαζί με την υποχρεωτική χρήση της Scala 2.13 από την έκδοση 4.0.0.
- Ευελιξία ανάπτυξης μέσω προ-πακεταρισμένων δυαδικών αρχείων για Hadoop, εξαρτήσεις Maven ή εγκατάσταση μέσω PyPI.

Αν εργάζεστε στον κόσμο των Big Data, θα γνωρίζετε ότι το Apache Spark είναι πρακτικά το πρότυπο όσον αφορά την επεξεργασία τεράστιου όγκου δεδομένων με αστραπιαία ταχύτητα. Με την άφιξη της έκδοσης 4.2, το πλαίσιο όχι μόνο έχει αναβαθμίσει το παιχνίδι του για βελτιστοποίηση της απόδοσης, αλλά έχει επίσης κάνει ένα ποιοτικό άλμα στον τρόπο που συνδεόμαστε με τα clusters, καθιστώντας τα πάντα πολύ πιο ευέλικτα και λιγότερο περίπλοκα.
Η πιο ισχυρή πτυχή αυτής της ενημέρωσης είναι αναμφίβολα ο τρόπος με τον οποίο έχουν βελτιώσει την αρχιτεκτονική, ώστε να μην χρειάζεται να μεταφέρουμε ολόκληρο το περιβάλλον εκτέλεσης στον τοπικό μας υπολογιστή. Τώρα, χάρη σε μια πολύ πιο ώριμη αρχιτεκτονική πελάτη-διακομιστή, μπορούμε να εκκινήσουμε πολύπλοκες διαδικασίες από οπουδήποτε χωρίς να καταρρεύσει ο υπολογιστής μας, αναθέτοντας τη βαριά δουλειά στον διακομιστή και λαμβάνοντας τα αποτελέσματα που έχουν ήδη υποστεί επεξεργασία.
Τεχνικές απαιτήσεις και συμβατότητα με το περιβάλλον

Για να θέσετε σε λειτουργία το Spark 4.2, είναι σημαντικό να κατανοήσετε ότι η υποστήριξη Java είναι ζωτικής σημασίας. Αυτή η έκδοση είναι συμβατή με Java 17, 21 και έως 25 , αν και σημειώστε ότι οι εκδόσεις Java 25 πριν από την 25.0.3 θεωρούνται ήδη παρωχημένες. Όσον αφορά τη γλώσσα προγραμματισμού, το πρότυπο είναι πλέον Scala 2.13 , αφήνοντας οριστικά πίσω την έκδοση 2.12, επομένως εάν έχετε παλαιότερα έργα, θα πρέπει να τα μετεγκαταστήσετε.
Για όσους προτιμούν την Python, απαιτείται έκδοση 3.10 ή νεότερη , ενώ η R υποστηρίζεται από την έκδοση 4.0 και μετά, αν και αξίζει να σημειωθεί ότι η χρήση της R εισέρχεται σε φάση απαξίωσης. Το λειτουργικό σύστημα είναι άσχετο, καθώς το Spark λειτουργεί ομαλά τόσο σε Windows όσο και σε συστήματα τύπου UNIX (όπως cloud Linux ή macOS), υπό την προϋπόθεση ότι έχετε ρυθμίσει σωστά τη μεταβλητή JAVA_HOME ή το PATH.
Επιλογές εγκατάστασης και ανάπτυξης
Όταν κάνετε λήψη του Spark, έχετε αρκετές επιλογές ανάλογα με την υποδομή σας. Η πιο συνηθισμένη είναι να κατεβάσετε τα προ- ρυθμισμένα πακέτα για το Hadoop , καθώς το Spark χρησιμοποιεί τις βιβλιοθήκες-πελάτες του για τη διαχείριση HDFS και YARN. Ωστόσο, εάν έχετε μια πολύ συγκεκριμένη διαμόρφωση, μπορείτε να επιλέξετε το δυαδικό αρχείο "Hadoop free" και να διαμορφώσετε μόνοι σας τη διαδρομή κλάσης.
Αν είστε προγραμματιστής, τα πράγματα είναι πιο απλά: οι χρήστες Java και Scala μπορούν να ενσωματώσουν το framework χρησιμοποιώντας συντεταγμένες Maven και οι χρήστες Python μπορούν να το εγκαταστήσουν απευθείας από το PyPI . Για τους πιο τολμηρούς που θέλουν να τροποποιήσουν το βασικό σύστημα, υπάρχει επίσης η επιλογή να μεταγλωττίσουν το Spark απευθείας από τον πηγαίο κώδικα.
Η επανάσταση του Spark Connect

Εδώ είναι που τα πράγματα γίνονται ενδιαφέροντα. Το Spark Connect είναι μια αρχιτεκτονική που σπάει το παραδοσιακό μοντέλο όπου ο client και ο server ήταν αχώριστοι. Τώρα, ο client είναι ένα ελαφρύ επίπεδο που δημιουργεί ένα λογικό σχέδιο ερωτημάτων και το στέλνει μέσω gRPC και Arrow στον απομακρυσμένο server. Αυτός ο server είναι υπεύθυνος για την ανάλυση του σχεδίου, τη βελτιστοποίησή του χρησιμοποιώντας το Catalyst και την εκτέλεσή του στο cluster.
Το καλύτερο με αυτό το σύστημα είναι ότι ο πελάτης δεν χρειάζεται πλέον να έχει εγκατεστημένη ολόκληρη την υποδομή Spark ή μια βαριά τοπική JVM. Αυτό μας επιτρέπει να ενσωματώνουμε το Spark σε φορητούς υπολογιστές, IDE, υπηρεσίες web ή ακόμα και σε πράκτορες AI χωρίς να χρειάζεται η τοπική έκδοση Python να ταιριάζει αυστηρά με την έκδοση cluster. Τα αποτελέσματα επιστρέφονται στον πελάτη σε παρτίδες Arrow , καθιστώντας τη μεταφορά δεδομένων απίστευτα γρήγορη.
Εκτέλεση εφαρμογής και διαδραστική λειτουργία

Για όσους θέλουν να ξεκινήσουν να πειραματίζονται, το Spark περιλαμβάνει μια σειρά από παραδείγματα στον κατάλογο. examples/src/mainΓια να εκτελέσετε εφαρμογές Python διαδραστικά, χρησιμοποιήστε την εντολή bin/pyspark Είναι το βασικό εργαλείο. Αν προτιμάτε Scala ή Java, μπορείτε να χρησιμοποιήσετε bin/run-example <clase>, το οποίο εκκινεί εσωτερικά το σενάριο σπίθα-υποβολή για να εκκινήσετε την εφαρμογή.
Υπάρχει επίσης η επιλογή χρήσης ενός τροποποιημένου κελύφους Scala, το οποίο είναι ιδανικό για την εκμάθηση του τρόπου λειτουργίας του πλαισίου εσωτερικά. Μια ζωτική λεπτομέρεια είναι η χρήση της επιλογής. --masterΑν κάνετε εξετάσεις, είναι καλύτερο να χρησιμοποιήσετε τοπικός για ένα μόνο νήμα ή τοπικός για να αξιοποιήσετε τους πολλαπλούς πυρήνες του επεξεργαστή σας πριν μεταβείτε σε ένα κατανεμημένο περιβάλλον.
Βελτιώσεις στη συμβατότητα και το οικοσύστημα
Η έκδοση 4.2 δεν έχει ξεχάσει το "Spark Classic". Έχει γίνει πολλή δουλειά για να γεφυρωθεί το κενό συμβατότητας, βελτιώνοντας την υποστήριξη για το API RDD και επιτρέποντας ότι spark.read.* Δέχεται DataFrames ως δεδομένα εισόδου. Επιπλέον, η διάδοση σφαλμάτων, η αναφορά κατάστασης και άλλες λειτουργίες έχουν βελτιστοποιηθεί. Υποστήριξη λειτουργίας συμπλέγματος YARN.
Όσον αφορά τη διανομή, είναι σημαντικό να ελέγξετε ότι οι εικόνες Docker ενδέχεται να περιέχουν λογισμικό που δεν είναι ASF, επομένως συνιστάται να ελέγξετε τα αρχεία Docker τους. Εάν χρειαστεί να επιστρέψετε σε προηγούμενες εκδόσεις για λόγους σταθερότητας, υπάρχουν διαθέσιμα αρχεία έκδοσης , αν και συνιστάται πάντα να ελέγχετε τη σελίδα ασφαλείας για να αποφύγετε γνωστά τρωτά σημεία.
Αυτή η νέα έκδοση εδραιώνει το Spark ως ένα εξαιρετικά ευέλικτο εργαλείο που, χάρη στην αποσύνδεση του client και του server, διευκολύνει τον εκδημοκρατισμό της επεξεργασίας μεγάλων δεδομένων. Με ενημερωμένη υποστήριξη για Java και Scala και πολύ πιο ομαλή ενσωμάτωση με σύγχρονα περιβάλλοντα ανάπτυξης, γίνεται η λογική επιλογή για οποιαδήποτε κλιμακωτή ανάλυση δεδομένων που αναζητά αποτελεσματικότητα και απλότητα στην ανάπτυξη.

