Πώς το BigQuery της Google εκδημοκρατοποίησε την ανάλυση δεδομένων. Μέρος 1ο

Γεια σου, Χαμπρ! Οι εγγραφές για μια νέα ροή μαθημάτων είναι ανοιχτές αυτή τη στιγμή στο OTUS Μηχανικός Δεδομένων. Εν όψει της έναρξης του μαθήματος, παραδοσιακά ετοιμάσαμε μια μετάφραση ενδιαφέροντος υλικού για εσάς.

Κάθε μέρα, περισσότεροι από εκατό εκατομμύρια άνθρωποι επισκέπτονται το Twitter για να μάθουν τι συμβαίνει στον κόσμο και να το συζητήσουν. Κάθε tweet και κάθε άλλη ενέργεια χρήστη δημιουργεί ένα συμβάν που είναι διαθέσιμο για την εσωτερική ανάλυση δεδομένων του Twitter. Εκατοντάδες εργαζόμενοι αναλύουν και οπτικοποιούν αυτά τα δεδομένα και η βελτίωση της εμπειρίας τους αποτελεί κορυφαία προτεραιότητα για την ομάδα της πλατφόρμας δεδομένων Twitter.

Πιστεύουμε ότι οι χρήστες με ευρύ φάσμα τεχνικών δεξιοτήτων θα πρέπει να μπορούν να ανακαλύπτουν δεδομένα και να έχουν πρόσβαση σε εργαλεία ανάλυσης και οπτικοποίησης που βασίζονται σε SQL με καλή απόδοση. Αυτό θα επέτρεπε σε μια εντελώς νέα ομάδα λιγότερο τεχνικών χρηστών, συμπεριλαμβανομένων των αναλυτών δεδομένων και των διαχειριστών προϊόντων, να εξάγουν πληροφορίες από δεδομένα, επιτρέποντάς τους να κατανοήσουν και να χρησιμοποιήσουν καλύτερα τις δυνατότητες του Twitter. Αυτός είναι ο τρόπος με τον οποίο εκδημοκρατίζουμε την ανάλυση δεδομένων στο Twitter.

Καθώς τα εργαλεία μας και οι εσωτερικές μας δυνατότητες ανάλυσης δεδομένων έχουν βελτιωθεί, είδαμε να βελτιώνεται το Twitter. Ωστόσο, υπάρχουν ακόμη περιθώρια βελτίωσης. Τα τρέχοντα εργαλεία όπως το Scalding απαιτούν εμπειρία προγραμματισμού. Τα εργαλεία ανάλυσης που βασίζονται σε SQL, όπως το Presto και το Vertica, έχουν προβλήματα απόδοσης σε κλίμακα. Έχουμε επίσης το πρόβλημα της διανομής δεδομένων σε πολλαπλά συστήματα χωρίς συνεχή πρόσβαση σε αυτά.

Πέρυσι είχαμε ανακοινώσει νέα συνεργασία με την Google, εντός του οποίου μεταφέρουμε μέρη μας υποδομή δεδομένων στο Google Cloud Platform (GCP). Καταλήξαμε στο συμπέρασμα ότι τα εργαλεία Google Cloud Big Data μπορεί να μας βοηθήσει με τις πρωτοβουλίες μας για τον εκδημοκρατισμό των αναλυτικών στοιχείων, της οπτικοποίησης και της μηχανικής μάθησης στο Twitter:

  • BigQuery: αποθήκη δεδομένων επιχείρησης με βάση μηχανές SQL Dremel, που φημίζεται για την ταχύτητα, την απλότητά του και τα αντέχει μηχανική μάθηση.
  • Data Studio: εργαλείο οπτικοποίησης μεγάλων δεδομένων με λειτουργίες συνεργασίας που μοιάζουν με τα Έγγραφα Google.

Σε αυτό το άρθρο, θα μάθετε για την εμπειρία μας με αυτά τα εργαλεία: τι κάναμε, τι μάθαμε και τι θα κάνουμε στη συνέχεια. Τώρα θα εστιάσουμε στα ομαδικά και διαδραστικά αναλυτικά στοιχεία. Θα συζητήσουμε αναλυτικά στοιχεία σε πραγματικό χρόνο στο επόμενο άρθρο.

Ιστορία των καταστημάτων δεδομένων Twitter

Πριν βουτήξετε στο BigQuery, αξίζει να αναφέρουμε εν συντομία την ιστορία της αποθήκευσης δεδομένων Twitter. Το 2011, πραγματοποιήθηκε ανάλυση δεδομένων Twitter σε Vertica και Hadoop. Χρησιμοποιήσαμε το Pig για να δημιουργήσουμε θέσεις εργασίας στο MapReduce Hadoop. Το 2012, αντικαταστήσαμε το Pig με το Scalding, το οποίο είχε Scala API με πλεονεκτήματα όπως η δυνατότητα δημιουργίας πολύπλοκων αγωγών και η ευκολία δοκιμών. Ωστόσο, για πολλούς αναλυτές δεδομένων και διαχειριστές προϊόντων που ήταν πιο άνετα να εργάζονται με την SQL, ήταν μια αρκετά απότομη καμπύλη μάθησης. Γύρω στο 2016, αρχίσαμε να χρησιμοποιούμε το Presto ως διεπαφή SQL για δεδομένα Hadoop. Το Spark προσέφερε μια διεπαφή Python, η οποία το καθιστά μια καλή επιλογή για ad hoc επιστήμη δεδομένων και μηχανική εκμάθηση.

Από το 2018, χρησιμοποιούμε τα ακόλουθα εργαλεία για ανάλυση και οπτικοποίηση δεδομένων:

  • Ζεύμα για μεταφορείς παραγωγής
  • Scalding and Spark για ad hoc ανάλυση δεδομένων και μηχανική μάθηση
  • Vertica και Presto για ad hoc και διαδραστική ανάλυση SQL
  • Druid για χαμηλή διαδραστική, διερευνητική και χαμηλή λανθάνουσα πρόσβαση σε μετρήσεις χρονοσειρών
  • Tableau, Zeppelin και Pivot για οπτικοποίηση δεδομένων

Διαπιστώσαμε ότι ενώ αυτά τα εργαλεία προσφέρουν πολύ ισχυρές δυνατότητες, δυσκολευτήκαμε να καταστήσουμε αυτές τις δυνατότητες διαθέσιμες σε ένα ευρύτερο κοινό στο Twitter. Επεκτείνοντας την πλατφόρμα μας με το Google Cloud, εστιάζουμε στην απλοποίηση των εργαλείων μας αναλυτικών στοιχείων για όλο το Twitter.

Η αποθήκη δεδομένων BigQuery της Google

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

Τον Νοέμβριο του 2018, κυκλοφορήσαμε μια έκδοση alpha για την εταιρεία BigQuery και Data Studio. Προσφέραμε στους υπαλλήλους του Twitter μερικά από τα πιο συχνά χρησιμοποιούμενα υπολογιστικά φύλλα μας με καθαρισμένα προσωπικά δεδομένα. Το BigQuery έχει χρησιμοποιηθεί από περισσότερους από 250 χρήστες από διάφορες ομάδες, συμπεριλαμβανομένων μηχανικών, οικονομικών και μάρκετινγκ. Πιο πρόσφατα, εκτελούσαν περίπου 8 χιλιάδες αιτήματα, επεξεργάζονταν περίπου 100 PB το μήνα, χωρίς να υπολογίζονται τα προγραμματισμένα αιτήματα. Αφού λάβαμε πολύ θετικά σχόλια, αποφασίσαμε να προχωρήσουμε και να προσφέρουμε το BigQuery ως τον κύριο πόρο για την αλληλεπίδραση με δεδομένα στο Twitter.

Ακολουθεί ένα διάγραμμα υψηλού επιπέδου της αρχιτεκτονικής αποθήκης δεδομένων Google BigQuery.

Πώς το BigQuery της Google εκδημοκρατοποίησε την ανάλυση δεδομένων. Μέρος 1ο
Αντιγράφουμε δεδομένα από εσωτερικά συμπλέγματα Hadoop στο Google Cloud Storage (GCS) χρησιμοποιώντας το εσωτερικό εργαλείο Cloud Replicator. Στη συνέχεια χρησιμοποιούμε το Apache Airflow για να δημιουργήσουμε αγωγούς που χρησιμοποιούν "bq_load» για να φορτώσετε δεδομένα από το GCS στο BigQuery. Χρησιμοποιούμε Presto για να υποβάλουμε ερωτήματα σε σύνολα δεδομένων Parquet ή Thrift-LZO στο GCS. Το BQ Blaster είναι ένα εσωτερικό εργαλείο Scalding για τη φόρτωση συνόλων δεδομένων HDFS Vertica και Thrift-LZO στο BigQuery.

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

Ευκολία χρήσης

Διαπιστώσαμε ότι ήταν εύκολο για τους χρήστες να ξεκινήσουν με το BigQuery επειδή δεν απαιτούσε εγκατάσταση λογισμικού και οι χρήστες μπορούσαν να έχουν πρόσβαση σε αυτό μέσω μιας διαισθητικής διεπαφής ιστού. Ωστόσο, οι χρήστες έπρεπε να εξοικειωθούν με ορισμένες από τις δυνατότητες και τις έννοιες του GCP, συμπεριλαμβανομένων πόρων όπως έργα, σύνολα δεδομένων και πίνακες. Έχουμε αναπτύξει εκπαιδευτικό υλικό και σεμινάρια για να βοηθήσουμε τους χρήστες να ξεκινήσουν. Έχοντας αποκτήσει μια βασική κατανόηση, οι χρήστες βρήκαν εύκολο να πλοηγηθούν σε σύνολα δεδομένων, να προβάλουν δεδομένα σχήματος και πίνακα, να εκτελέσουν απλά ερωτήματα και να οπτικοποιήσουν αποτελέσματα στο Data Studio.

Ο στόχος μας για την εισαγωγή δεδομένων στο BigQuery ήταν να επιτρέψουμε την απρόσκοπτη φόρτωση των συνόλων δεδομένων HDFS ή GCS με ένα κλικ. Θεωρήσαμε Cloud Composer (διαχειρίζεται από το Airflow), αλλά δεν ήταν δυνατή η χρήση του λόγω του μοντέλου ασφάλειας Περιορισμένης κοινής χρήσης τομέα (περισσότερα για αυτό στην ενότητα Διαχείριση δεδομένων παρακάτω). Πειραματιστήκαμε με τη χρήση της υπηρεσίας μεταφοράς δεδομένων Google (DTS) για την ενορχήστρωση φόρτου εργασίας BigQuery. Ενώ το DTS εγκαθίσταται γρήγορα, δεν ήταν ευέλικτο για την κατασκευή αγωγών με εξαρτήσεις. Για την έκδοση alpha, έχουμε δημιουργήσει το δικό μας πλαίσιο ροής αέρα Apache στο GCE και το προετοιμάζουμε να εκτελεστεί στην παραγωγή και να μπορούμε να υποστηρίζουμε περισσότερες πηγές δεδομένων όπως η Vertica.

Για να μετατρέψουν δεδομένα σε BigQuery, οι χρήστες δημιουργούν απλές γραμμές δεδομένων SQL χρησιμοποιώντας προγραμματισμένα ερωτήματα. Για πολύπλοκους αγωγούς πολλαπλών σταδίων με εξαρτήσεις, σκοπεύουμε να χρησιμοποιήσουμε είτε το δικό μας πλαίσιο Airflow είτε το Cloud Composer μαζί με Cloud Dataflow.

Παραγωγικότητα

Το BigQuery έχει σχεδιαστεί για ερωτήματα SQL γενικού σκοπού που επεξεργάζονται μεγάλες ποσότητες δεδομένων. Δεν προορίζεται για τα ερωτήματα χαμηλής καθυστέρησης, υψηλής απόδοσης που απαιτούνται από μια βάση δεδομένων συναλλαγών ή για την ανάλυση χρονοσειρών χαμηλής καθυστέρησης που εφαρμόζεται Apache Druid. Για διαδραστικά ερωτήματα αναλυτικών στοιχείων, οι χρήστες μας αναμένουν χρόνους απόκρισης μικρότερους από ένα λεπτό. Έπρεπε να σχεδιάσουμε τη χρήση του BigQuery για να ανταποκριθούμε σε αυτές τις προσδοκίες. Για να παρέχουμε προβλέψιμη απόδοση για τους χρήστες μας, αξιοποιήσαμε τη λειτουργικότητα BigQuery, διαθέσιμη στους πελάτες με πάγια χρέωση, η οποία επιτρέπει στους κατόχους έργων να δεσμεύουν ελάχιστες θέσεις για τα ερωτήματά τους. Κουλοχέρη Το BigQuery είναι μια μονάδα υπολογιστικής ισχύος που απαιτείται για την εκτέλεση ερωτημάτων SQL.

Αναλύσαμε περισσότερα από 800 ερωτήματα που επεξεργάζονται περίπου 1 TB δεδομένων το καθένα και διαπιστώσαμε ότι ο μέσος χρόνος εκτέλεσης ήταν 30 δευτερόλεπτα. Μάθαμε επίσης ότι η απόδοση εξαρτάται σε μεγάλο βαθμό από τη χρήση του slot μας σε διαφορετικά έργα και εργασίες. Έπρεπε να οριοθετήσουμε με σαφήνεια τα αποθέματα παραγωγής και ad hoc slot για να διατηρήσουμε την απόδοση για περιπτώσεις χρήσης παραγωγής και διαδικτυακές αναλύσεις. Αυτό επηρέασε σε μεγάλο βαθμό τον σχεδιασμό μας για κρατήσεις θέσεων και ιεραρχία έργων.

Θα μιλήσουμε για τη διαχείριση δεδομένων, τη λειτουργικότητα και το κόστος των συστημάτων τις επόμενες ημέρες στο δεύτερο μέρος της μετάφρασης, αλλά τώρα καλούμε όλους να δωρεάν ζωντανό διαδικτυακό σεμινάριο, κατά τη διάρκεια του οποίου θα μπορείτε να μάθετε λεπτομερώς για το μάθημα, καθώς και να κάνετε ερωτήσεις στον εμπειρογνώμονά μας - Egor Mateshuk (Senior Data Engineer, MaximaTelecom).

Διαβάστε περισσότερα:

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο