Απλοποιήστε και επιταχύνετε τις εφαρμογές Apache Spark σε δεδομένα Amazon Redshift με την ενσωμάτωση Amazon Redshift για το Apache Spark

Απλοποιήστε και επιταχύνετε τις εφαρμογές Apache Spark σε δεδομένα Amazon Redshift με την ενσωμάτωση Amazon Redshift για το Apache Spark

Κόμβος πηγής: 2597866

Οι πελάτες χρησιμοποιούν Amazon RedShift να τρέξουν τα κρίσιμα για την επιχείρηση αναλύσεις τους σε petabyte δομημένων και ημιδομημένων δεδομένων. Το Apache Spark είναι ένα δημοφιλές πλαίσιο που μπορείτε να χρησιμοποιήσετε για τη δημιουργία εφαρμογών για περιπτώσεις χρήσης όπως ETL (εξαγωγή, μετασχηματισμός και φόρτωση), διαδραστικά αναλυτικά στοιχεία και μηχανική μάθηση (ML). Το Apache Spark σάς δίνει τη δυνατότητα να δημιουργείτε εφαρμογές σε διάφορες γλώσσες, όπως Java, Scala και Python, αποκτώντας πρόσβαση στα δεδομένα στην αποθήκη δεδομένων Amazon Redshift.

Η ενσωμάτωση του Amazon Redshift για το Apache Spark βοηθά τους προγραμματιστές να δημιουργούν και να εκτελούν απρόσκοπτα εφαρμογές Apache Spark σε δεδομένα του Amazon Redshift. Οι προγραμματιστές μπορούν να χρησιμοποιούν υπηρεσίες ανάλυσης AWS και ML όπως π.χ EMR Αμαζονίου, Κόλλα AWS, να Amazon Sage Maker για να δημιουργήσετε χωρίς κόπο εφαρμογές Apache Spark που διαβάζουν και γράφουν στην αποθήκη δεδομένων Amazon Redshift. Μπορείτε να το κάνετε χωρίς συμβιβασμούς στην απόδοση των εφαρμογών σας ή στη συναλλακτική συνέπεια των δεδομένων σας.

Σε αυτήν την ανάρτηση, συζητάμε γιατί η ενσωμάτωση του Amazon Redshift για το Apache Spark είναι κρίσιμη και αποτελεσματική για την ανάλυση και την ML. Επιπλέον, συζητάμε περιπτώσεις χρήσης που χρησιμοποιούν την ενσωμάτωση του Amazon Redshift με το Apache Spark για να αυξήσουν τον επιχειρηματικό αντίκτυπο. Τέλος, σας καθοδηγούμε σε παραδείγματα βήμα προς βήμα για τον τρόπο χρήσης αυτής της επίσημης σύνδεσης AWS σε μια εφαρμογή Apache Spark.

Ενσωμάτωση Amazon Redshift για το Apache Spark

Η ενσωμάτωση του Amazon Redshift για το Apache Spark ελαχιστοποιεί τη δυσκίνητη και συχνά χειροκίνητη διαδικασία ρύθμισης μιας υποδοχής spark-redshift (κοινοτική έκδοση) και συντομεύει το χρόνο που απαιτείται για την προετοιμασία για εργασίες ανάλυσης και ML. Χρειάζεται μόνο να καθορίσετε τη σύνδεση με την αποθήκη δεδομένων σας και μπορείτε να ξεκινήσετε να εργάζεστε με δεδομένα Amazon Redshift από τις εφαρμογές σας που βασίζονται στο Apache Spark μέσα σε λίγα λεπτά.

Μπορείτε να χρησιμοποιήσετε πολλές δυνατότητες pushdown για λειτουργίες όπως συναρτήσεις ταξινόμησης, συγκέντρωσης, περιορισμού, σύνδεσης και κλιμάκωσης, έτσι ώστε μόνο τα σχετικά δεδομένα να μετακινούνται από την αποθήκη δεδομένων του Amazon Redshift στην καταναλωτική εφαρμογή Apache Spark. Αυτό σας επιτρέπει να βελτιώσετε την απόδοση των εφαρμογών σας. Οι διαχειριστές του Amazon Redshift μπορούν εύκολα να αναγνωρίσουν την SQL που δημιουργείται από εφαρμογές που βασίζονται σε Spark. Σε αυτήν την ανάρτηση, δείχνουμε πώς μπορείτε να μάθετε την SQL που δημιουργείται από την εργασία Apache Spark.

Επιπλέον, η ενσωμάτωση του Amazon Redshift για το Apache Spark χρησιμοποιεί τη μορφή αρχείου Parquet όταν τοποθετεί τα δεδομένα σε έναν προσωρινό κατάλογο. Το Amazon Redshift χρησιμοποιεί τη δήλωση UNLOAD SQL για να αποθηκεύσει αυτά τα προσωρινά δεδομένα Απλή υπηρεσία αποθήκευσης Amazon (Amazon S3). Η εφαρμογή Apache Spark ανακτά τα αποτελέσματα από τον προσωρινό κατάλογο (αποθηκευμένο σε μορφή αρχείου Parquet), γεγονός που βελτιώνει την απόδοση.

Μπορείτε επίσης να κάνετε τις εφαρμογές σας πιο ασφαλείς χρησιμοποιώντας τη χρήση Διαχείριση ταυτότητας και πρόσβασης AWS (IAM) διαπιστευτήρια για σύνδεση στο Amazon Redshift.

Η ενσωμάτωση του Amazon Redshift για το Apache Spark είναι χτισμένη πάνω από την υποδοχή spark-redshift (κοινοτική έκδοση) και το βελτιώνει για απόδοση και ασφάλεια, βοηθώντας σας να αποκτήσετε έως και 10 φορές ταχύτερη απόδοση της εφαρμογής.

Χρησιμοποιήστε θήκες για την ενσωμάτωση του Amazon Redshift με το Apache Spark

Για την περίπτωση χρήσης μας, η ηγεσία της εταιρείας που βασίζεται σε προϊόντα θέλει να γνωρίζει τις πωλήσεις για κάθε προϊόν σε πολλές αγορές. Καθώς οι πωλήσεις για την εταιρεία κυμαίνονται δυναμικά, έχει γίνει πρόκληση για την ηγεσία να παρακολουθεί τις πωλήσεις σε πολλές αγορές. Ωστόσο, οι συνολικές πωλήσεις μειώνονται και η ηγεσία της εταιρείας θέλει να ανακαλύψει ποιες αγορές δεν έχουν απόδοση, ώστε να μπορέσουν να στοχεύσουν αυτές τις αγορές για καμπάνιες προώθησης.

Για πωλήσεις σε πολλές αγορές, τα δεδομένα πωλήσεων προϊόντων, όπως οι παραγγελίες, οι συναλλαγές και τα δεδομένα αποστολής είναι διαθέσιμα στο Amazon S3 στη λίμνη δεδομένων. Η ομάδα μηχανικής δεδομένων μπορεί να χρησιμοποιήσει το Apache Spark με το Amazon EMR ή το AWS Glue για να αναλύσει αυτά τα δεδομένα στο Amazon S3.

Τα δεδομένα αποθέματος είναι διαθέσιμα στο Amazon Redshift. Ομοίως, η ομάδα μηχανικής δεδομένων μπορεί να αναλύσει αυτά τα δεδομένα με το Apache Spark χρησιμοποιώντας το Amazon EMR ή μια εργασία AWS Glue, χρησιμοποιώντας την ενσωμάτωση Amazon Redshift για το Apache Spark για την εκτέλεση συναθροίσεων και μετασχηματισμών. Το συγκεντρωτικό και μετασχηματισμένο σύνολο δεδομένων μπορεί να αποθηκευτεί ξανά στο Amazon Redshift χρησιμοποιώντας την ενσωμάτωση Amazon Redshift για το Apache Spark.

Η χρήση ενός κατανεμημένου πλαισίου όπως το Apache Spark με την ενσωμάτωση του Amazon Redshift για το Apache Spark μπορεί να παρέχει την ορατότητα σε όλη τη λίμνη δεδομένων και την αποθήκη δεδομένων για τη δημιουργία πληροφοριών για τις πωλήσεις. Αυτές οι πληροφορίες μπορούν να διατεθούν στους επιχειρηματικούς μετόχους και τη σειρά των επιχειρηματικών χρηστών στο Amazon Redshift για τη λήψη τεκμηριωμένων αποφάσεων για την εκτέλεση στοχευμένων προωθήσεων για τα τμήματα της αγοράς χαμηλών εσόδων.

Επιπλέον, μπορούμε να χρησιμοποιήσουμε την ενοποίηση Amazon Redshift με το Apache Spark στις ακόλουθες περιπτώσεις χρήσης:

  • Ένας πελάτης Amazon EMR ή AWS Glue που εκτελεί εργασίες Apache Spark θέλει να μετατρέψει δεδομένα και να τα γράψει στο Amazon Redshift ως μέρος του αγωγού ETL του
  • Ένας πελάτης ML χρησιμοποιεί το Apache Spark με το SageMaker για μηχανική λειτουργιών για πρόσβαση και μετατροπή δεδομένων στο Amazon Redshift
  • Ένας πελάτης Amazon EMR, AWS Glue ή SageMaker χρησιμοποιεί το Apache Spark για διαδραστική ανάλυση δεδομένων με δεδομένα στο Amazon Redshift από φορητούς υπολογιστές

Παραδείγματα για την ενσωμάτωση του Amazon Redshift για το Apache Spark σε μια εφαρμογή Apache Spark

Σε αυτήν την ανάρτηση, δείχνουμε τα βήματα για τη σύνδεση του Amazon Redshift από το Amazon EMR Amazon Elastic Compute Cloud (Amazon EC2), Amazon EMR χωρίς διακομιστή, και AWS Glue χρησιμοποιώντας μια κοινή δέσμη ενεργειών. Στο ακόλουθο δείγμα κώδικα, δημιουργούμε μια αναφορά που δείχνει τις τριμηνιαίες πωλήσεις για το έτος 2008. Για να γίνει αυτό, ενώνουμε δύο πίνακες Amazon Redshift χρησιμοποιώντας ένα Apache Spark DataFrame, εκτελούμε ένα κατηγόρημα pushdown, συγκεντρώνουμε και ταξινομούμε τα δεδομένα και γράφουμε τα μετασχηματισμένα δεδομένα πίσω στο Amazon Redshift. Το σενάριο χρησιμοποιεί PySpark

Το σενάριο χρησιμοποιεί Έλεγχος ταυτότητας βάσει IAM για το Amazon Redshift. Οι ρόλοι IAM που χρησιμοποιούνται από το Amazon EMR και το AWS Glue θα πρέπει να έχουν τα κατάλληλα δικαιώματα για τον έλεγχο ταυτότητας του Amazon Redshift και πρόσβαση σε έναν κάδο S3 για προσωρινή αποθήκευση δεδομένων.

Το ακόλουθο παράδειγμα πολιτικής επιτρέπει στον ρόλο IAM να καλέσει το GetClusterCredentials λειτουργίες:

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "redshift:GetClusterCredentials", "Resource": "arn:aws:redshift:<aws_region_name>:xxxxxxxxxxxx:dbuser:*/temp_*" }
}

Το ακόλουθο παράδειγμα πολιτικής επιτρέπει την πρόσβαση σε έναν κάδο S3 για προσωρινή αποθήκευση δεδομένων:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:ListBucket" ], "Resource": "arn:aws:s3:::<s3_bucket_name>" } ]
}

Το πλήρες σενάριο έχει ως εξής:

from pyspark.sql import SparkSession
from pyspark.sql.functions import col # Initiate Apache Spark session
spark = SparkSession .builder .appName("SparkRedshiftConnector") .enableHiveSupport() .getOrCreate() # Set connection options for Amazon Redshift
jdbc_iam_url = "jdbc:redshift:iam://redshift-spark-connector-1.xxxxxxxxxxx.<aws_region_name>.redshift.amazonaws.com:5439/sample_data_dev"
temp_dir = 's3://<s3_bucket_name>/redshift-temp-dir/'
aws_role = 'arn:aws:iam::xxxxxxxxxxxx:role/redshift-s3' # Set query group for the query. More details on Amazon Redshift WLM https://docs.aws.amazon.com/redshift/latest/dg/cm-c-executing-queries.html
queryGroup = "emr-redshift"
jdbc_iam_url_withQueryGroup = jdbc_iam_url+'?queryGroup='+queryGroup # Set User name for the query
userName = 'awsuser'
jdbc_iam_url_withUserName = jdbc_iam_url_withQueryGroup+';user='+userName # Define the Amazon Redshift context
redshiftOptions = { "url": jdbc_iam_url_withUserName, "tempdir": temp_dir, "aws_iam_role" : aws_role
} # Create the sales DataFrame from Amazon Redshift table using io.github.spark_redshift_community.spark.redshift class
sales_df = ( spark.read .format("io.github.spark_redshift_community.spark.redshift") .options(**redshiftOptions) .option("dbtable", "tickit.sales") .load()
) # Create the date Data Frame from Amazon Redshift table
date_df = ( spark.read .format("io.github.spark_redshift_community.spark.redshift") .options(**redshiftOptions) .option("dbtable", "tickit.date") .load()
) # Assign a Data Frame to the above output which will be written back to Amazon Redshift
output_df= sales_df.join(date_df, sales_df.dateid == date_df.dateid, 'inner').where( col("year") == 2008).groupBy("qtr").sum("qtysold").select( col("qtr"), col("sum(qtysold)")).sort(["qtr"], ascending=[1]).withColumnRenamed("sum(qtysold)","total_quantity_sold") # Display the output
output_df.show() ## Lets drop the queryGroup for easy validation of push down queries
# Set User name for the query
userName = 'awsuser'
jdbc_iam_url_withUserName = jdbc_iam_url+'?user='+userName # Define the Amazon Redshift context
redshiftWriteOptions = { "url": jdbc_iam_url_withUserName, "tempdir": temp_dir, "aws_iam_role" : aws_role
} # Write the Data Frame back to Amazon Redshift
output_df.write .format("io.github.spark_redshift_community.spark.redshift") .mode("overwrite") .options(**redshiftWriteOptions) .option("dbtable", "tickit.test") .save()

Εάν σκοπεύετε να χρησιμοποιήσετε το προηγούμενο σενάριο στο περιβάλλον σας, βεβαιωθείτε ότι έχετε αντικαταστήσει τις τιμές για τις ακόλουθες μεταβλητές με τις κατάλληλες τιμές για το περιβάλλον σας: jdbc_iam_url, temp_dir, να aws_role.

Στην επόμενη ενότητα, θα ακολουθήσουμε τα βήματα για την εκτέλεση αυτού του σεναρίου για τη συγκέντρωση ενός δείγματος δεδομένων που είναι διαθέσιμο στο Amazon Redshift.

Προϋποθέσεις

Πριν ξεκινήσουμε, βεβαιωθείτε ότι πληρούνται οι ακόλουθες προϋποθέσεις:

Αναπτύξτε πόρους χρησιμοποιώντας το AWS CloudFormation

Ολοκληρώστε τα παρακάτω βήματα για να αναπτύξετε τη στοίβα CloudFormation:

  1. Συνδεθείτε στο Κονσόλα διαχείρισης AWS, στη συνέχεια ξεκινήστε τη στοίβα CloudFormation:
    BDB-2063-launch-cloudformation-stack

Μπορείτε επίσης να κατεβάστε το πρότυπο CloudFormation για να δημιουργήσετε τους πόρους που αναφέρονται σε αυτήν την ανάρτηση μέσω της υποδομής ως κώδικα (IaC). Χρησιμοποιήστε αυτό το πρότυπο κατά την εκκίνηση μιας νέας στοίβας CloudFormation.

  1. Κάντε κύλιση προς τα κάτω στο κάτω μέρος της σελίδας για να επιλέξετε Αναγνωρίζω ότι το AWS CloudFormation μπορεί να δημιουργήσει πόρους IAM υπό Δυνατότητες, κατόπιν επιλέξτε Δημιουργία στοίβας.

Η διαδικασία δημιουργίας στοίβας διαρκεί 15–20 λεπτά για να ολοκληρωθεί. Το πρότυπο CloudFormation δημιουργεί τους ακόλουθους πόρους:

    • Ένα Amazon VPC με τα απαραίτητα υποδίκτυα, πίνακες διαδρομών και πύλη NAT
    • Ένας κάδος S3 με το όνομα redshift-spark-databucket-xxxxxxx (σημειώστε ότι το xxxxxxx είναι μια τυχαία συμβολοσειρά για να κάνετε το όνομα του κάδου μοναδικό)
    • Ένα σύμπλεγμα Amazon Redshift με δείγματα δεδομένων φορτωμένα μέσα στη βάση δεδομένων dev και τον κύριο χρήστη redshiftmasteruser. Για τους σκοπούς αυτής της ανάρτησης ιστολογίου, redshiftmasteruser με διαχειριστικές άδειες χρησιμοποιείται. Ωστόσο, συνιστάται η χρήση χρήστη με λεπτόκοκκο έλεγχο πρόσβασης στο περιβάλλον παραγωγής.
    • Ένας ρόλος IAM που θα χρησιμοποιηθεί για το Amazon Redshift με τη δυνατότητα να ζητάτε προσωρινά διαπιστευτήρια από τη βάση δεδομένων προγραμματιστών του συμπλέγματος Amazon Redshift
    • Amazon EMR Studio με τους απαραίτητους ρόλους IAM
    • Το Amazon EMR κυκλοφορεί την έκδοση 6.9.0 σε ένα σύμπλεγμα EC2 με τους απαραίτητους ρόλους IAM
    • Μια έκδοση 6.9.0 έκδοσης εφαρμογής χωρίς διακομιστή Amazon EMR
    • Μια σύνδεση AWS Glue και AWS Glue job έκδοση 4.0
    • A Σημειωματάριο Jupyter για εκτέλεση χρησιμοποιώντας το Amazon EMR Studio χρησιμοποιώντας το Amazon EMR σε ένα σύμπλεγμα EC2
    • Ένα σενάριο PySpark για εκτέλεση με χρήση του Amazon EMR Studio και του Amazon EMR Serverless
  1. Αφού ολοκληρωθεί η δημιουργία στοίβας, επιλέξτε το όνομα της στοίβας redshift-spark και περιηγηθείτε στο Έξοδοι

Χρησιμοποιούμε αυτές τις τιμές εξόδου αργότερα σε αυτήν την ανάρτηση.

Στις επόμενες ενότητες, παρουσιάζουμε τα βήματα για την ενσωμάτωση του Amazon Redshift για το Apache Spark από το Amazon EMR στο Amazon EC2, το Amazon EMR Serverless και το AWS Glue.

Χρησιμοποιήστε την ενσωμάτωση του Amazon Redshift με το Apache Spark στο Amazon EMR στο EC2

Ξεκινώντας από την έκδοση Amazon EMR έκδοση 6.9.0 και νεότερη, η σύνδεση που χρησιμοποιεί την ενσωμάτωση Amazon Redshift για το Apache Spark και το πρόγραμμα οδήγησης Amazon Redshift JDBC είναι διαθέσιμα τοπικά στο Amazon EMR. Αυτά τα αρχεία βρίσκονται κάτω από το /usr/share/aws/redshift/ Ευρετήριο. Ωστόσο, στις προηγούμενες εκδόσεις του Amazon EMR, το κοινότητα έκδοση του spark-redshift Υποδοχή είναι διαθέσιμη.

Το παρακάτω παράδειγμα δείχνει πώς να συνδέσετε το Amazon Redshift χρησιμοποιώντας έναν πυρήνα PySpark μέσω ενός Amazon EMR Studio σημειωματάριο. Η στοίβα CloudFormation δημιούργησε το Amazon EMR Studio, το Amazon EMR σε ένα σύμπλεγμα EC2 και ένα σημειωματάριο Jupyter διαθέσιμο για εκτέλεση. Για να δείτε αυτό το παράδειγμα, ολοκληρώστε τα παρακάτω βήματα:

  1. Κατεβάστε το σημειωματάριο Jupyter που διατίθεται στον κάδο S3 για εσάς:
    • Στις εξόδους της στοίβας CloudFormation, αναζητήστε την τιμή για EMRStudioNotebook, το οποίο θα πρέπει να δείχνει στο redshift-spark-emr.ipynb notebook διαθέσιμο στον κάδο S3.
    • Επιλέξτε τον σύνδεσμο ή ανοίξτε τον σύνδεσμο σε μια νέα καρτέλα αντιγράφοντας τη διεύθυνση URL για το σημειωματάριο.
    • Αφού ανοίξετε τον σύνδεσμο, κατεβάστε το σημειωματάριο επιλέγοντας Λήψη, το οποίο θα αποθηκεύσει το αρχείο τοπικά στον υπολογιστή σας.
  1. Αποκτήστε πρόσβαση στο Amazon EMR Studio επιλέγοντας ή αντιγράφοντας τον σύνδεσμο που παρέχεται στις εξόδους στοίβας CloudFormation για το κλειδί EMRStudioURL.
  2. Στο παράθυρο πλοήγησης, επιλέξτε Χώροι εργασίας.
  3. Επιλέξτε Δημιουργία χώρου εργασίας.
  4. Δώστε ένα όνομα για τον χώρο εργασίας, για παράδειγμα redshift-spark.
  5. Αναπτύξτε το Προηγμένη διαμόρφωση και επιλέξτε Συνδέστε το Workspace σε ένα σύμπλεγμα EMR.
  6. Κάτω από Προσάρτηση σε ένα σύμπλεγμα EMR, επιλέξτε το σύμπλεγμα EMR με το όνομα emrCluster-Redshift-Spark.
  7. Επιλέξτε Δημιουργία χώρου εργασίας.
  8. Αφού δημιουργηθεί ο χώρος εργασίας του Amazon EMR Studio και στην κατάσταση Συνημμένο, μπορείτε να αποκτήσετε πρόσβαση στον χώρο εργασίας επιλέγοντας το όνομα του χώρου εργασίας.

Αυτό θα πρέπει να ανοίξει τον χώρο εργασίας σε μια νέα καρτέλα. Σημειώστε ότι εάν έχετε αποκλεισμό αναδυόμενων παραθύρων, ίσως χρειαστεί να επιτρέψετε στον Χώρο εργασίας να ανοίξει ή να απενεργοποιήσει το πρόγραμμα αποκλεισμού αναδυόμενων παραθύρων.

Στον χώρο εργασίας του Amazon EMR Studio, ανεβάζουμε τώρα το σημειωματάριο Jupyter που κατεβάσαμε νωρίτερα.

  1. Επιλέξτε Μεταφόρτωση για να περιηγηθείτε στο τοπικό σας σύστημα αρχείων και να ανεβάσετε το σημειωματάριο Jupyter (redshift-spark-emr.ipynb).
  2. Επιλέξτε (διπλό κλικ) το redshift-spark-emr.ipynb σημειωματάριο εντός του χώρου εργασίας για να ανοίξετε το σημειωματάριο.

Το σημειωματάριο παρέχει τις λεπτομέρειες των διαφορετικών εργασιών που εκτελεί. Σημειώστε ότι στην ενότητα Καθορίστε τις μεταβλητές για σύνδεση στο σύμπλεγμα Amazon Redshift, δεν χρειάζεται να ενημερώσετε τις τιμές για jdbc_iam_url, temp_dir, να aws_role επειδή αυτά ενημερώνονται για εσάς από το AWS CloudFormation. Το AWS CloudFormation έχει επίσης εκτελέσει τα βήματα που αναφέρονται στο Προϋποθέσεις τμήμα του φορητού υπολογιστή.

Τώρα μπορείτε να ξεκινήσετε να τρέχετε το σημειωματάριο.

  1. Εκτελέστε τα μεμονωμένα κελιά επιλέγοντάς τα και μετά επιλέγοντας Δοκιμάστε να παίξετε.

Μπορείτε επίσης να χρησιμοποιήσετε τον συνδυασμό πλήκτρων του Shift + Enter or Shift+Return. Εναλλακτικά, μπορείτε να εκτελέσετε όλα τα κελιά επιλέγοντας Εκτελέστε όλα τα κελιά σχετικά με την τρέξιμο μενού.

  1. Βρείτε τη λειτουργία pushdown κατηγόρημα που εκτελείται στο σύμπλεγμα Amazon Redshift από την ενσωμάτωση Amazon Redshift για το Apache Spark.

Μπορούμε επίσης να δούμε τα προσωρινά δεδομένα που είναι αποθηκευμένα στο Amazon S3 στη βελτιστοποιημένη μορφή Parquet. Η έξοδος φαίνεται από την εκτέλεση του κελιού στην ενότητα Λάβετε το τελευταίο ερώτημα που εκτελέστηκε στο Amazon Redshift.

  1. Για να επικυρώσετε τον πίνακα που δημιουργήθηκε από την εργασία από το Amazon EMR στο Amazon EC2, μεταβείτε στην κονσόλα Amazon Redshift και επιλέξτε το σύμπλεγμα redshift-spark-redshift-cluster σχετικά με την Προβλεπόμενος πίνακας εργαλείων συμπλέγματος .
  2. Στις λεπτομέρειες του συμπλέγματος, στο Ερώτημα δεδομένων μενού, επιλέξτε Ερώτημα σε πρόγραμμα επεξεργασίας ερωτημάτων v2.
  3. Επιλέξτε το σύμπλεγμα στο παράθυρο πλοήγησης και συνδεθείτε στο σύμπλεγμα Amazon Redshift όταν ζητά έλεγχο ταυτότητας.
  4. Αγορά Προσωρινά διαπιστευτήρια.
  5. Για βάση δεδομένων, εισαγω dev.
  6. Για όνομα χρήστη, εισαγω redshiftmasteruser.
  7. Επιλέξτε Αποθήκευση.
  8. Στο παράθυρο πλοήγησης, αναπτύξτε το σύμπλεγμα redshift-spark-redshift-cluster, αναπτύξτε τη βάση δεδομένων dev, αναπτύξτε tickitκαι επεκτείνετε πίνακες για να παραθέσετε όλους τους πίνακες μέσα στο σχήμα tickit.

Θα πρέπει να βρείτε το τραπέζι test_emr.

  1. Επιλέξτε (δεξί κλικ) στον πίνακα test_emr, κατόπιν επιλέξτε Επιλέξτε πίνακα για να ρωτήσετε τον πίνακα.
  2. Επιλέξτε τρέξιμο για να εκτελέσετε την πρόταση SQL.

Χρησιμοποιήστε την ενοποίηση Amazon Redshift με το Apache Spark στο Amazon EMR Serverless

Η έκδοση Amazon EMR έκδοσης 6.9.0 και νεότερη παρέχει την ενσωμάτωση Amazon Redshift για Apache Spark JAR (διαχειριζόμενα από το Amazon Redshift) και Amazon Redshift JDBC JAR τοπικά και στο Amazon EMR Serverless. Αυτά τα αρχεία βρίσκονται κάτω από το /usr/share/aws/redshift/ Ευρετήριο. Στο παρακάτω παράδειγμα, χρησιμοποιούμε το σενάριο Python που διατίθεται στον κάδο S3 από τη στοίβα CloudFormation που δημιουργήσαμε νωρίτερα.

  1. Στις εξόδους της στοίβας CloudFormation, σημειώστε την τιμή για EMRServerlessExecutionScript, που είναι η θέση του σεναρίου Python στον κάδο S3.
  2. Σημειώστε επίσης την τιμή για EMRServerlessJobExecutionRole, που είναι ο ρόλος IAM που θα χρησιμοποιηθεί με την εκτέλεση της εργασίας Amazon EMR Serverless.
  3. Αποκτήστε πρόσβαση στο Amazon EMR Studio επιλέγοντας ή αντιγράφοντας τον σύνδεσμο που παρέχεται στις εξόδους στοίβας CloudFormation για το κλειδί EMRStudioURL.
  4. Επιλέξτε Εφαρμογές υπό Χωρίς διακομιστή στο παράθυρο πλοήγησης.

Θα βρείτε μια εφαρμογή EMR που δημιουργήθηκε από τη στοίβα CloudFormation με το όνομα emr-spark-redshift.

  1. Επιλέξτε το όνομα της αίτησης για να υποβάλετε μια εργασία.
  2. Επιλέξτε Υποβολή εργασίας.
  3. Κάτω από Λεπτομέρειες εργασίας, Για Όνομα, εισαγάγετε ένα αναγνωρίσιμο όνομα για την εργασία.
  4. Για Ρόλος χρόνου εκτέλεσης, επιλέξτε τον ρόλο IAM που σημειώσατε από την έξοδο στοίβας CloudFormation νωρίτερα.
  5. Για Τοποθεσία σεναρίου, παρέχετε τη διαδρομή προς το σενάριο Python που σημειώσατε νωρίτερα από την έξοδο της στοίβας CloudFormation.
  6. Αναπτύξτε την ενότητα Ιδιότητες σπινθήρα Και επιλέξτε το Επεξεργασία σε κείμενο
  7. Εισαγάγετε την ακόλουθη τιμή στο πλαίσιο κειμένου, το οποίο παρέχει τη διαδρομή προς το redshift-connector, πρόγραμμα οδήγησης Amazon Redshift JDBC, spark-avro JAR, και minimal-json Αρχεία JAR:
    --jars /usr/share/aws/redshift/jdbc/RedshiftJDBC.jar,/usr/share/aws/redshift/spark-redshift/lib/spark-redshift.jar,/usr/share/aws/redshift/spark-redshift/lib/spark-avro.jar,/usr/share/aws/redshift/spark-redshift/lib/minimal-json.jar

  8. Επιλέξτε Υποβολή εργασίας.
  9. Περιμένετε να ολοκληρωθεί η εργασία και να εμφανιστεί η κατάσταση εκτέλεσης ως Επιτυχία.
  10. Μεταβείτε στο πρόγραμμα επεξεργασίας ερωτημάτων Amazon Redshift για να δείτε εάν ο πίνακας δημιουργήθηκε με επιτυχία.
  11. Ελέγξτε τα ερωτήματα pushdown που εκτελούνται για την ομάδα ερωτημάτων Amazon Redshift emr-serverless-redshift. Μπορείτε να εκτελέσετε την ακόλουθη δήλωση SQL στη βάση δεδομένων dev:
    SELECT query_text FROM SYS_QUERY_HISTORY WHERE query_label = 'emr-serverless-redshift' ORDER BY start_time DESC LIMIT 1

Μπορείτε να δείτε ότι το ερώτημα pushdown και τα αποτελέσματα επιστροφής αποθηκεύονται σε μορφή αρχείου Parquet στο Amazon S3.

Χρησιμοποιήστε την ενσωμάτωση του Amazon Redshift με το Apache Spark στο AWS Glue

Ξεκινώντας με το AWS Glue έκδοση 4.0 και νεότερη, οι εργασίες Apache Spark που συνδέονται με το Amazon Redshift μπορούν να χρησιμοποιήσουν την ενσωμάτωση Amazon Redshift για το πρόγραμμα οδήγησης Apache Spark και Amazon Redshift JDBC. Οι υπάρχουσες εργασίες κόλλας AWS που χρησιμοποιούν ήδη το Amazon Redshift ως πηγή ή στόχο μπορούν να αναβαθμιστούν σε AWS Glue 4.0 για να επωφεληθούν από αυτήν τη νέα σύνδεση. Το πρότυπο CloudFormation που παρέχεται με αυτήν την ανάρτηση δημιουργεί τους ακόλουθους πόρους AWS Glue:

  • Σύνδεση κόλλας AWS για το Amazon Redshift – Η σύνδεση για τη δημιουργία σύνδεσης από το AWS Glue στο Amazon Redshift χρησιμοποιώντας την ενσωμάτωση Amazon Redshift για το Apache Spark
  • Ο ρόλος IAM συνδέεται με την εργασία κόλλας AWS – Ο ρόλος IAM για τη διαχείριση των δικαιωμάτων για την εκτέλεση της εργασίας AWS Glue
  • Εργασία με κόλλα AWS – Το σενάριο για την εργασία AWS Glue που εκτελεί μετασχηματισμούς και συναθροίσεις χρησιμοποιώντας την ενσωμάτωση Amazon Redshift για το Apache Spark

Το παρακάτω παράδειγμα χρησιμοποιεί τη σύνδεση AWS Glue που είναι συνδεδεμένη στην εργασία AWS Glue με το PySpark και περιλαμβάνει τα ακόλουθα βήματα:

  1. Στην κονσόλα κόλλας AWS, επιλέξτε Διασυνδέσεις στο παράθυρο πλοήγησης.
  2. Κάτω από Διασυνδέσεις, επιλέξτε τη σύνδεση AWS Glue για το Amazon Redshift που δημιουργήθηκε από το πρότυπο CloudFormation.
  3. Επαληθεύστε τα στοιχεία σύνδεσης.

Τώρα μπορείτε να επαναχρησιμοποιήσετε αυτήν τη σύνδεση σε μια εργασία ή σε πολλές εργασίες.

  1. Στις Συνδετήρες καλωδίων σελίδα, επιλέξτε την εργασία AWS Glue που δημιουργήθηκε από τη στοίβα CloudFormation κάτω από τις δουλειές σαςή αποκτήστε πρόσβαση στην εργασία κόλλας AWS χρησιμοποιώντας τη διεύθυνση URL που παρέχεται για το κλειδί GlueJob στην έξοδο στοίβας CloudFormation.
  2. Πρόσβαση και επαλήθευση του σεναρίου για την εργασία AWS Glue.
  3. Στις Λεπτομέρειες εργασίας καρτέλα, βεβαιωθείτε ότι Έκδοση κόλλας έχει οριστεί σε Κόλλα 4.0.

Αυτό διασφαλίζει ότι η εργασία χρησιμοποιεί τα πιο πρόσφατα redshift-spark υποδοχή.

  1. Ανάπτυξη Προηγμένες ιδιότητες και στην Διασυνδέσεις ενότητα, βεβαιωθείτε ότι η σύνδεση που δημιουργήθηκε από τη στοίβα CloudFormation είναι συνδεδεμένη.
  2. Επαληθεύστε τις παραμέτρους εργασίας που προστέθηκαν για την εργασία κόλλας AWS. Αυτές οι τιμές είναι επίσης διαθέσιμες στην έξοδο για τη στοίβα CloudFormation.
  3. Επιλέξτε Αποθήκευση και στη συνέχεια τρέξιμο.

Μπορείτε να δείτε την κατάσταση για την εργασία που εκτελείται στο τρέξιμο Tab.

  1. Αφού ολοκληρωθεί με επιτυχία η εκτέλεση της εργασίας, μπορείτε να επαληθεύσετε την έξοδο της δοκιμαστικής κόλλας πίνακα που δημιουργήθηκε από την εργασία κόλλας AWS.
  2. Ελέγχουμε τα ερωτήματα pushdown που εκτελούνται για την ομάδα ερωτημάτων Amazon Redshift glue-redshift. Μπορείτε να εκτελέσετε την ακόλουθη δήλωση SQL στη βάση δεδομένων dev:
    SELECT query_text FROM SYS_QUERY_HISTORY WHERE query_label = 'glue-redshift' ORDER BY start_time DESC LIMIT 1

Βέλτιστες πρακτικές

Λάβετε υπόψη τις ακόλουθες βέλτιστες πρακτικές:

  • Εξετάστε το ενδεχόμενο να χρησιμοποιήσετε την ενσωμάτωση Amazon Redshift για το Apache Spark από το Amazon EMR αντί να το χρησιμοποιήσετε redshift-spark σύνδεσμος (έκδοση κοινότητας) για τις νέες σας εργασίες Apache Spark.
  • Εάν έχετε υπάρχουσες εργασίες Apache Spark χρησιμοποιώντας το redshift-spark σύνδεσμος (έκδοση κοινότητας), σκεφτείτε να τα αναβαθμίσετε για να χρησιμοποιήσετε την ενσωμάτωση Amazon Redshift για το Apache Spark
  • Η ενσωμάτωση Amazon Redshift για το Apache Spark εφαρμόζει αυτόματα το κατηγόρημα και το ερώτημα pushdown για βελτιστοποίηση της απόδοσης. Συνιστούμε τη χρήση υποστηριζόμενων λειτουργιών (autopushdown) στο ερώτημά σας. Η ενσωμάτωση του Amazon Redshift για το Apache Spark θα μετατρέψει τη συνάρτηση σε ερώτημα SQL και θα εκτελέσει το ερώτημα στο Amazon Redshift. Αυτή η βελτιστοποίηση έχει ως αποτέλεσμα την ανάκτηση των απαιτούμενων δεδομένων, έτσι το Apache Spark μπορεί να επεξεργάζεται λιγότερα δεδομένα και να έχει καλύτερη απόδοση.
    • Εξετάστε το ενδεχόμενο να χρησιμοποιήσετε συγκεντρωτικές συναρτήσεις pushdown όπως avg, count, max, min, να sum για ανάκτηση φιλτραρισμένων δεδομένων για επεξεργασία δεδομένων.
    • Σκεφτείτε να χρησιμοποιήσετε Boolean τελεστές pushdown όπως in, isnull, isnotnull, contains, endswith, να startswith για ανάκτηση φιλτραρισμένων δεδομένων για επεξεργασία δεδομένων.
    • Σκεφτείτε να χρησιμοποιήσετε λογικούς τελεστές pushdown όπως and, or, να not!) για ανάκτηση φιλτραρισμένων δεδομένων για επεξεργασία δεδομένων.
  • Συνιστάται να περάσετε έναν ρόλο IAM χρησιμοποιώντας την παράμετρο aws_iam_role για τον έλεγχο ταυτότητας Amazon Redshift από την εφαρμογή σας Apache Spark στο Amazon EMR ή στο AWS Glue. Ο ρόλος του IAM θα ​​πρέπει να έχει τα απαραίτητα δικαιώματα για την ανάκτηση προσωρινών διαπιστευτηρίων IAM για έλεγχο ταυτότητας στο Amazon Redshift, όπως φαίνεται στην ενότητα "Παραδείγματα ενσωμάτωσης Amazon Redshift για Apache Spark σε εφαρμογή Apache Spark" αυτού του ιστολογίου.
  • Με αυτήν τη δυνατότητα, δεν χρειάζεται να διατηρήσετε το όνομα χρήστη και τον κωδικό πρόσβασής σας στο Amazon Redshift στη διαχείριση μυστικών και στη βάση δεδομένων Amazon Redshift.
  • Το Amazon Redshift χρησιμοποιεί τη δήλωση UNLOAD SQL για να αποθηκεύσει αυτά τα προσωρινά δεδομένα στο Amazon S3. Η εφαρμογή Apache Spark ανακτά τα αποτελέσματα από τον προσωρινό κατάλογο (αποθηκευμένο σε μορφή αρχείου Parquet). Αυτός ο προσωρινός κατάλογος στο Amazon S3 δεν καθαρίζεται αυτόματα και επομένως θα μπορούσε να προσθέσει επιπλέον κόστος. Συνιστούμε τη χρήση Πολιτικές κύκλου ζωής του Amazon S3 για να ορίσετε τους κανόνες διατήρησης για τον κάδο S3.
  • Συνιστάται η ενεργοποίηση Καταγραφή ελέγχου Amazon Redshift για να καταγράψετε τις πληροφορίες σχετικά με τις συνδέσεις και τις δραστηριότητες των χρηστών στη βάση δεδομένων σας.
  • Συνιστάται η ενεργοποίηση Κρυπτογράφηση Amazon Redshift σε κατάσταση ηρεμίας να κρυπτογραφήσει τα δεδομένα σας καθώς το Amazon Redshift τα γράφει στα κέντρα δεδομένων του και να τα αποκρυπτογραφήσει για εσάς όταν έχετε πρόσβαση σε αυτά.
  • Συνιστάται η αναβάθμιση σε AWS Glue v4.0 και μεταγενέστερη έκδοση για να χρησιμοποιήσετε την ενσωμάτωση Amazon Redshift για το Apache Spark, η οποία είναι διαθέσιμη εκτός συσκευασίας. Η αναβάθμιση σε αυτήν την έκδοση του AWS Glue θα κάνει αυτόματα χρήση αυτής της δυνατότητας.
  • Συνιστάται η αναβάθμιση σε Amazon EMR v6.9.0 και νεότερη έκδοση για να χρησιμοποιήσετε την ενσωμάτωση Amazon Redshift για το Apache Spark. Δεν χρειάζεται να διαχειρίζεστε ρητά προγράμματα οδήγησης ή αρχεία JAR.
  • Εξετάστε το ενδεχόμενο να χρησιμοποιήσετε φορητούς υπολογιστές Amazon EMR Studio για να αλληλεπιδράσετε με τα δεδομένα Amazon Redshift στην εφαρμογή σας Apache Spark.
  • Εξετάστε το ενδεχόμενο να χρησιμοποιήσετε το AWS Glue Studio για να δημιουργήσετε εργασίες Apache Spark χρησιμοποιώντας μια οπτική διεπαφή. Μπορείτε επίσης να μεταβείτε στη σύνταξη κώδικα Apache Spark είτε στο Scala είτε στο PySpark μέσα στο AWS Glue Studio.

εκκαθάριση

Ολοκληρώστε τα παρακάτω βήματα για να καθαρίσετε τους πόρους που δημιουργούνται ως μέρος του προτύπου CloudFormation για να βεβαιωθείτε ότι δεν θα χρεωθείτε για τους πόρους, εάν δεν θα τους χρησιμοποιείτε πλέον:

  1. Διακοπή της εφαρμογής Amazon EMR Serverless:
    • Αποκτήστε πρόσβαση στο Amazon EMR Studio επιλέγοντας ή αντιγράφοντας τον σύνδεσμο που παρέχεται στις εξόδους στοίβας CloudFormation για το κλειδί EMRStudioURL.
    • Επιλέξτε Εφαρμογές υπό Χωρίς διακομιστή στο παράθυρο πλοήγησης.

Θα βρείτε μια εφαρμογή EMR που δημιουργήθηκε από τη στοίβα CloudFormation με το όνομα emr-spark-redshift.

    • Εάν η κατάσταση της εφαρμογής εμφανίζεται ως Διακοπή, μπορείτε να προχωρήσετε στα επόμενα βήματα. Ωστόσο, εάν η κατάσταση της εφαρμογής έχει ξεκινήσει, επιλέξτε το όνομα της εφαρμογής και, στη συνέχεια, επιλέξτε Διακοπή εφαρμογής και Διακοπή εφαρμογής ξανά για επιβεβαίωση.
  1. Διαγράψτε τον χώρο εργασίας του Amazon EMR Studio:
    • Αποκτήστε πρόσβαση στο Amazon EMR Studio επιλέγοντας ή αντιγράφοντας τον σύνδεσμο που παρέχεται στις εξόδους στοίβας CloudFormation για το κλειδί EMRStudioURL.
    • Επιλέξτε Χώροι εργασίας στο παράθυρο πλοήγησης.
    • Επιλέξτε τον χώρο εργασίας που δημιουργήσατε και επιλέξτε Διαγραφή, κατόπιν επιλέξτε Διαγραφή ξανά για επιβεβαίωση.
  2. Διαγράψτε τη στοίβα CloudFormation:
    • Στην κονσόλα AWS CloudFormation, μεταβείτε στη στοίβα που δημιουργήσατε νωρίτερα.
    • Επιλέξτε το όνομα στοίβας και μετά επιλέξτε Διαγραφή για να αφαιρέσετε τη στοίβα και να διαγράψετε τους πόρους που δημιουργήθηκαν ως μέρος αυτής της ανάρτησης.
    • Στην οθόνη επιβεβαίωσης, επιλέξτε Διαγραφή στοίβας.

Συμπέρασμα

Σε αυτήν την ανάρτηση, εξηγήσαμε πώς μπορείτε να χρησιμοποιήσετε την ενσωμάτωση του Amazon Redshift για το Apache Spark για να δημιουργήσετε και να αναπτύξετε εφαρμογές με το Amazon EMR στο Amazon EC2, το Amazon EMR Serverless και το AWS Glue για να εφαρμόσετε αυτόματα κατηγόρημα και pushdown ερωτήματος για βελτιστοποίηση της απόδοσης ερωτήματος για δεδομένα στο Amazon Redshift. Συνιστάται ιδιαίτερα η χρήση της ενσωμάτωσης Amazon Redshift για το Apache Spark για απρόσκοπτη και ασφαλή σύνδεση με το Amazon Redshift από το Amazon EMR ή το AWS Glue.

Εδώ είναι τι έχουν να πουν ορισμένοι από τους πελάτες μας σχετικά με την ενσωμάτωση του Amazon Redshift για το Apache Spark:

«Ενδυναμώνουμε τους μηχανικούς μας να δημιουργήσουν τους αγωγούς δεδομένων και τις εφαρμογές τους με το Apache Spark χρησιμοποιώντας Python και Scala. Θέλαμε μια προσαρμοσμένη λύση που να απλοποιεί τις λειτουργίες και να παρέχει ταχύτερα και πιο αποτελεσματικά για τους πελάτες μας, και αυτό είναι που παίρνουμε με τη νέα ενσωμάτωση του Amazon Redshift για το Apache Spark.»

—Huron Consulting

«Η GE Aerospace χρησιμοποιεί αναλυτικά στοιχεία AWS και Amazon Redshift για να επιτρέψει κρίσιμες επιχειρηματικές πληροφορίες που οδηγούν σε σημαντικές επιχειρηματικές αποφάσεις. Με την υποστήριξη για αυτόματη αντιγραφή από το Amazon S3, μπορούμε να δημιουργήσουμε απλούστερους αγωγούς δεδομένων για τη μεταφορά δεδομένων από το Amazon S3 στο Amazon Redshift. Αυτό επιταχύνει την ικανότητα των ομάδων προϊόντων δεδομένων μας να έχουν πρόσβαση σε δεδομένα και να παρέχουν πληροφορίες στους τελικούς χρήστες. Αφιερώνουμε περισσότερο χρόνο προσθέτοντας αξία μέσω δεδομένων και λιγότερο χρόνο σε ενσωματώσεις.»

—GE Aerospace

«Εστιάζουμε στην παροχή πρόσβασης αυτοεξυπηρέτησης σε δεδομένα για όλους τους χρήστες μας στη Goldman Sachs. Μέσω του Legend, της πλατφόρμας διαχείρισης και διακυβέρνησης δεδομένων ανοιχτού κώδικα, δίνουμε τη δυνατότητα στους χρήστες να αναπτύσσουν εφαρμογές με επίκεντρο τα δεδομένα και να αντλούν πληροφορίες βασισμένες στα δεδομένα καθώς συνεργαζόμαστε στον κλάδο των χρηματοοικονομικών υπηρεσιών. Με την ενσωμάτωση του Amazon Redshift για το Apache Spark, η ομάδα της πλατφόρμας δεδομένων μας θα μπορεί να έχει πρόσβαση στα δεδομένα του Amazon Redshift με ελάχιστα χειροκίνητα βήματα, επιτρέποντας ETL μηδενικού κώδικα που θα αυξήσει την ικανότητά μας να διευκολύνουμε τους μηχανικούς να επικεντρωθούν στην τελειοποίηση της ροής εργασίας τους. συλλέγουν πλήρεις και έγκαιρες πληροφορίες. Αναμένουμε να δούμε βελτίωση της απόδοσης των εφαρμογών και βελτιωμένη ασφάλεια, καθώς οι χρήστες μας μπορούν πλέον να έχουν εύκολη πρόσβαση στα πιο πρόσφατα δεδομένα στο Amazon Redshift».

— Goldman Sachs


Σχετικά με τους Συγγραφείς

Γκάγκαν Μπράχμι είναι Senior Specialist Solutions Architect που επικεντρώνεται στην ανάλυση μεγάλων δεδομένων και στην πλατφόρμα AI/ML στο Amazon Web Services. Η Gagan έχει πάνω από 18 χρόνια εμπειρίας στην τεχνολογία της πληροφορίας. Βοηθά τους πελάτες να αρχιτεκτονήσουν και να δημιουργήσουν εξαιρετικά επεκτάσιμες, αποδοτικές και ασφαλείς λύσεις που βασίζονται σε cloud στο AWS. Στον ελεύθερο χρόνο του, περνά χρόνο με την οικογένειά του και εξερευνά νέα μέρη.

Vivek Gautam είναι Αρχιτέκτονας Δεδομένων με εξειδίκευση στις λίμνες δεδομένων στην AWS Professional Services. Συνεργάζεται με εταιρικούς πελάτες δημιουργώντας προϊόντα δεδομένων, πλατφόρμες ανάλυσης και λύσεις στο AWS. Όταν δεν κατασκευάζει και δεν σχεδιάζει λίμνες δεδομένων, ο Vivek είναι λάτρης του φαγητού που του αρέσει επίσης να εξερευνά νέους ταξιδιωτικούς προορισμούς και να κάνει πεζοπορίες.

Naresh Gautam είναι ηγέτης Data Analytics και AI/ML στην AWS με 20 χρόνια εμπειρίας, ο οποίος απολαμβάνει να βοηθά τους πελάτες να αρχιτεκτονήσουν υψηλής διαθεσιμότητας, υψηλής απόδοσης και οικονομικά αποδοτικές αναλύσεις δεδομένων και λύσεις AI/ML για να ενδυναμώσουν τους πελάτες με τη λήψη αποφάσεων βάσει δεδομένων . Στον ελεύθερο χρόνο του, του αρέσει ο διαλογισμός και η μαγειρική.

Beaux Sharifi είναι Μηχανικός Ανάπτυξης Λογισμικού στην ομάδα οδηγών του Amazon Redshift όπου ηγείται της ανάπτυξης της εφαρμογής σύνδεσης Amazon Redshift Integration with Apache Spark. Έχει πάνω από 20 χρόνια εμπειρίας στη δημιουργία πλατφορμών που βασίζονται σε δεδομένα σε πολλούς κλάδους. Στον ελεύθερο χρόνο του, του αρέσει να περνά χρόνο με την οικογένειά του και να κάνει σερφ.

Σφραγίδα ώρας:

Περισσότερα από Μεγάλα δεδομένα AWS