Εκκινήστε μια σύγχρονη στοίβα δεδομένων σε 5 λεπτά με το Terraform
Τι είναι μια σύγχρονη στοίβα δεδομένων και πώς την αναπτύσσετε; Αυτός ο οδηγός θα σας παρακινήσει να ξεκινήσετε αυτό το ταξίδι με οδηγίες ρύθμισης για τα Airbyte, BigQuery, dbt, Metabase και οτιδήποτε άλλο χρειάζεστε χρησιμοποιώντας το Terraform.
By Τουάν Νγκουγιέν, CTO & μέλος του Διοικητικού Συμβουλίου της Joon Solutions.
A Modern Data Stack Architecture (εικόνα από συγγραφέα).
Τι είναι μια σύγχρονη στοίβα δεδομένων
Το Modern Data Stack (MDS) είναι μια στοίβα τεχνολογιών που κάνει μια σύγχρονη αποθήκη δεδομένων να αποδίδει 10–10,000 φορές καλύτερα από μια παλαιού τύπου αποθήκη δεδομένων. Τελικά, ένα MDS εξοικονομεί χρόνο, χρήμα και προσπάθεια. Οι τέσσερις πυλώνες ενός MDS είναι α σύνδεσμος δεδομένων, μια αποθήκη δεδομένων cloud, μια μετασχηματιστής δεδομένων, και ένα BI & εξερεύνηση δεδομένων εργαλείο.
Εύκολος ολοκλήρωση καθίσταται δυνατή με διαχειριζόμενα και ανοιχτού κώδικα εργαλεία που προκατασκευάζουν εκατοντάδες έτοιμες προς χρήση συνδέσεις. Αυτό που χρειαζόταν μια ομάδα μηχανικών δεδομένων για την τακτική κατασκευή και συντήρηση μπορεί τώρα να αντικατασταθεί με ένα εργαλείο για απλές περιπτώσεις χρήσης. Διαχειριζόμενες λύσεις όπως βελονιά και Fivetran, μαζί με λύσεις ανοιχτού κώδικα όπως Airbyte και Μελτάνο, το κάνουν αυτό να συμβεί.
Χρησιμοποιώντας ένα αποθήκη στηλών δεδομένων που βασίζεται σε σύννεφο ήταν η τάση πρόσφατα λόγω της υψηλής απόδοσης και της οικονομικής αποδοτικότητάς του. Αντί να πληρώνετε 100 $ ετησίως για μια εσωτερική βάση δεδομένων MPP (μαζική παράλληλη επεξεργασία), μπορείτε να αρχίσετε να πληρώνετε από 100 $ (ή λιγότερο) το μήνα. Οι εγγενείς αποθήκες δεδομένων στο cloud λέγεται ότι είναι 10-10,000 φορές ταχύτερες από ένα παραδοσιακό OLTP. Δημοφιλείς επιλογές σε αυτή την κατηγορία είναι BigQuery, Νιφάδα χιονιού, να Redshift.
Τα παλιά χρόνια, η επεξεργασία δεδομένων μέσα στην αποθήκη δεδομένων ήταν το σημείο συμφόρησης λόγω των περιορισμών της τεχνολογίας. Ως αποτέλεσμα, οι εταιρείες έπρεπε να ευνοήσουν το ETL αντί του ELT για να μειώσουν τον φόρτο εργασίας της αποθήκης δεδομένων. Ωστόσο, με την ανάπτυξη των εγγενών αποθηκών δεδομένων στο cloud, πολλά εργαλεία μετασχηματισμού στην αποθήκη δεδομένων γίνονται δημοφιλή. Τα πιο αξιοσημείωτα σε αυτήν την κατηγορία είναι το dbt (εργαλείο δημιουργίας δεδομένων) και το Dataform.
Εργαλεία BI χρησιμοποιείται επίσης για τη φροντίδα ορισμένων μετατροπών για τη μείωση του φόρτου εργασίας στις αποθήκες δεδομένων παλαιού τύπου. Ωστόσο, με τη σύγχρονη στοίβα δεδομένων, η εστίαση των εργαλείων BI έχει μετατοπιστεί (κατά τη γνώμη μου) στον εκδημοκρατισμό της πρόσβασης δεδομένων, της αυτοεξυπηρέτησης και της ανακάλυψης δεδομένων. Μερικά εργαλεία που πιστεύω ότι οδεύουν προς τη σωστή κατεύθυνση είναι Βλέπων, Μετα-βάση, να Superset.
Η αρχιτεκτονική μας
Το να ξεκινήσετε με τη σύγχρονη στοίβα δεδομένων μπορεί να είναι τρομακτικό καθώς εμπλέκονται πολλά διαφορετικά εργαλεία και διαδικασίες. Αυτό το άρθρο έχει σκοπό να σας βοηθήσει να ξεκινήσετε αυτό το ταξίδι όσο το δυνατόν πιο απρόσκοπτα. Υπάρχουν πολλά βήματα προετοιμασίας, αλλά χρειάζεται μόνο πέντε λεπτά για να συγκεντρώσετε όλους τους πόρους μόλις τελειώσετε.
Θα χρησιμοποιούμε Terraform, ένα εργαλείο ανοιχτού κώδικα υποδομής ως κώδικα για να παρέχει τα πάντα στο Google Cloud. Εάν ακολουθήσετε τις παρακάτω οδηγίες, εδώ είναι οι πόροι που θα δημιουργηθούν.
- Ένα έργο Google Cloud με ενεργοποιημένο το απαραίτητο API
- Απορρόφηση: μια παρουσία GCE που εκτελεί το Airbyte
- Αποθήκευση: Σύνολα δεδομένων BigQuery
- Ενορχήστρωση (προαιρετικό): μια παρουσία GCE που τρέχει Airflow
- BI & ανακάλυψη δεδομένων: μια παρουσία GCE που εκτελεί το Metabase
- Λογαριασμοί υπηρεσίας για διαφορετικές υπηρεσίες και τις δεσμεύσεις αδειών IAM τους
Ξεκινήστε Τώρα
Δημιουργήστε έναν λογαριασμό Google Cloud και ενεργοποιήστε τη χρέωση
Ο κώδικας Terraform σε αυτό το έργο θα αλληλεπιδράσει με την πλατφόρμα Google Cloud. Επομένως, το πρώτο μας βήμα είναι να δημιουργήσουμε έναν λογαριασμό Google και ενεργοποιήστε τη χρέωση. Σημειώστε το αναγνωριστικό χρέωσης με την ακόλουθη μορφή στη σελίδα χρέωσης: ######-######-######. Θα χρειαστείτε αυτήν την τιμή στο επόμενο βήμα.
Εγκαταστήστε το Google Cloud CLI
Εγκαταστήστε το Google Cloud SDK ακολουθώντας τις οδηγίες εδώ για το αντίστοιχο λειτουργικό σας σύστημα. Αφού έχετε το gcloud Εγκαταστάθηκε το CLI, εκτελέστε την ακόλουθη εντολή σε ένα παράθυρο τερματικού και ακολουθήστε τις οδηγίες. Αυτό θα επιτρέψει στην Terraform να χρησιμοποιήσει τα προεπιλεγμένα διαπιστευτήρια για έλεγχο ταυτότητας.
gcloud auth εφαρμογή-προεπιλεγμένη σύνδεση
Εγκαταστήστε το terraform
Ακολουθήστε τις οδηγίες εδώ για να εγκαταστήσετε το Terraform CLI τοπικά. Εκτελέστε την ακόλουθη εντολή στη συνέχεια για να ελέγξετε την εγκατάστασή σας:
terraform -v
Θα πρέπει να δείτε κάτι τέτοιο:
Terraform v1.0.0 στο darwin_amd64 + πάροχος registry.terraform.io/hashicorp/google v3.71.0
Διαχωρίστε ή κλωνοποιήστε αυτό το repo τοπικά
Μπορείς να διαχωρίστε αυτό το ρεπό στον λογαριασμό σας ή κλωνοποιήστε τον στον τοπικό σας υπολογιστή. Για να κλωνοποιήσετε το repo, εκτελέστε τα εξής:
git clone https://github.com/tuanchris/modern-data-stack cd modern-data-stack
Δημιουργία terraform.tfvars φιλέτο
Δημιουργία terraform.tfvars αρχείο με το ακόλουθο περιεχόμενο:
# Το αναγνωριστικό χρέωσης από το πρώτο βήμα billing_id = ######-######-###### # Το αναγνωριστικό του φακέλου όπου θέλετε να βρίσκεται το έργο σας κάτω από # Αφήστε αυτό το κενό εάν χρησιμοποιείτε a personal account folder_id = "" # Το αναγνωριστικό οργανισμού όπου θέλετε να βρίσκεται το έργο σας κάτω από # Αφήστε αυτό το κενό εάν χρησιμοποιείτε προσωπικό λογαριασμό org_id = "" # Το έργο για τη δημιουργία project_id = ""
προειδοποίηση: Θεωρούνται ευαίσθητες αξίες. Μην δεσμεύσετε αυτό το αρχείο και το *.tfstate αρχεία σε δημόσιο αποθετήριο.
Προσαρμόστε τις τιμές σε μεταβλητές.tf
Οι μεταβλητές σε μεταβλητές.tf θα χρησιμοποιηθεί για τις διαμορφώσεις των πόρων.
Εικόνα από συγγραφέα.
Μπορείτε να προσαρμόσετε τον τύπο του μηχανήματος για διαφορετικές υπηρεσίες αλλάζοντας τις μεταβλητές. Εάν δεν θέλετε να χρησιμοποιήσετε καμία υπηρεσία, σχολιάστε τη στο gce.tf αρχείο.
Μπορείτε επίσης να δημιουργήσετε διαφορετικά σύνολα δεδομένων για τα συστήματα προέλευσης προσθέτοντάς τα στο λεξικό συνόλων δεδομένων πηγών.
Δημιουργήστε μια σύγχρονη στοίβα δεδομένων
Τέλος, για την παροχή όλων αυτών των πόρων στο Google Cloud, εκτελέστε την ακόλουθη εντολή:
ισχύουν τα terraform
Εικόνα από συγγραφέα.
Μελετήστε την έξοδο στο τερματικό για να βεβαιωθείτε ότι όλες οι ρυθμίσεις πόρων είναι αυτές που θέλετε να είναι. Τύπος Ναί και χτύπησε εισάγετε.
Η Terraform θα δημιουργήσει ένα έργο Google Cloud με τη σύγχρονη στοίβα δεδομένων μας. Η όλη διαδικασία θα διαρκέσει περίπου 2-3 λεπτά. Χρειάζονται επιπλέον 2–3 λεπτά για να εγκατασταθούν οι υπηρεσίες σε παρουσίες VM. Η όλη διαδικασία θα διαρκέσει μόνο 5 λεπτά ή λιγότερο.
Χρησιμοποιώντας τη σύγχρονη στοίβα δεδομένων
Ανάκτηση λογαριασμών υπηρεσιών για διαφορετικές υπηρεσίες
Εικόνα από συγγραφέα.
Η Google συνιστά τη χρήση διαφορετικού λογαριασμού υπηρεσίας για διαφορετικές υπηρεσίες. Ο κώδικας εδάφους στο έργο έχει δημιουργήσει διαφορετικούς λογαριασμούς για διαφορετικές τεχνολογίες που χρησιμοποιούνται ήδη. Για να ανακτήσετε έναν λογαριασμό υπηρεσίας για μια συγκεκριμένη υπηρεσία, εκτελέστε την ακόλουθη εντολή:
Έξοδος Terraform [όνομα_υπηρεσίας]_sa_key
Η προεπιλεγμένη άδεια για όλους αυτούς τους λογαριασμούς είναι roles/bigquery.admin. Μπορείτε να το προσαρμόσετε στο iam.tf αρχείο.
Η τιμή που λάβατε είναι κωδικοποιημένη στο base64. Για να επιστρέψετε αυτήν την τιμή στη μορφή JSON, εκτελέστε την ακόλουθη εντολή:
echo "[τιμή από την προηγούμενη εντολή]" | βάση64 -δ
Μπορείτε να χρησιμοποιήσετε τον λογαριασμό υπηρεσίας JSON για τον έλεγχο ταυτότητας της πρόσβασης της υπηρεσίας στους πόρους του έργου σας.
προειδοποίηση: Οποιοσδήποτε διαθέτει αυτόν τον λογαριασμό υπηρεσίας μπορεί να έχει πρόσβαση στο έργο σας.
Απορρόφηση δεδομένων με την Airbyte
Airbyte είναι ένα εξαιρετικό εργαλείο ενοποίησης δεδομένων ανοιχτού κώδικα. Για να αποκτήσετε πρόσβαση στη διεπαφή χρήστη της Airbyte, λάβετε πρώτα την εντολή gcloud SSH.
Εικόνα από συγγραφέα.
Θα λάβετε μια εντολή παρόμοια με αυτή:
gcloud beta compute ssh --zone "asia-southeast1-a" "tf-airbyte-demo-airbyte" --project "tf-airbyte-demo"
Στη συνέχεια, προσθέστε τα ακόλουθα στην εντολή για να μεταφέρετε το Airbyte UI τοπικά:
-- -L 8000:localhost:8000 -L 8001:localhost:8001 -N -f
Η τελική εντολή σας θα μοιάζει με αυτό:
gcloud beta compute ssh --zone "asia-southeast1-a" "tf-airbyte-demo-airbyte" --project "tf-airbyte-demo" -- -L 8000:localhost:8000 -L 8001:localhost:8001 - Ν -στ
Σημείωση: Φροντίστε να διαγράψετε τον χαρακτήρα της νέας γραμμής μετά την αντιγραφή από τη διεπαφή χρήστη GCP.
Εάν η παρουσία της Airbyte έχει ολοκληρώσει την εκκίνηση, μπορείτε να την αποκτήσετε μεταβαίνοντας στο πρόγραμμα περιήγησής σας και επισκεφθείτε την localhost: 8000. Εάν όχι, περιμένετε πέντε λεπτά για να ολοκληρώσει την εγκατάσταση το παράδειγμα.
Εικόνα από συγγραφέα.
Τώρα μπορείτε να ενσωματώσετε τις πηγές σας, να προσθέσετε έναν προορισμό BigQuery χρησιμοποιώντας το airbyte_sa_keyκαι έχετε τα δεδομένα σας στο BigQuery σε ελάχιστο χρόνο.
Μπορείτε να αποκτήσετε πρόσβαση στην εγκατάσταση της Airbyte στη διεύθυνση /airbyte/ μέσα στο VM.
Μοντέλο δεδομένων με dbt
dbt (εργαλείο δημιουργίας δεδομένων) είναι ένα ισχυρό εργαλείο μετασχηματισμού δεδομένων ανοιχτού κώδικα που χρησιμοποιεί SQL. Επιτρέπει στους Αναλυτές Δεδομένων να κάνουν την εργασία που προηγουμένως είχε δεσμευτεί για Μηχανικούς Δεδομένων. Βοηθά επίσης στη δημιουργία μιας εντελώς νέας θέσης που ονομάζεται Analytics Engineer, ένα υβρίδιο ενός αναλυτή δεδομένων και ενός μηχανικού δεδομένων. Μπορείτε να διαβάσετε περισσότερα για τη θέση στο blog μου εδώ.
Εικόνα από συγγραφέα.
Σε αντίθεση με τα Airbyte, Airflow και Metabase, δεν χρειάζεστε διακομιστή για να εκτελέσετε το dbt. Μπορείτε να εγγραφείτε για έναν δωρεάν (για πάντα) λογαριασμό 1 θέσης επισκεπτόμενοι τους .
Ενορχηστρώστε τη ροή εργασίας με το Airflow
Ροής αέρα είναι ένα αποδεδειγμένο στη μάχη εργαλείο ενορχήστρωσης ροής εργασίας που δημιουργήθηκε από την Airbnb. Με μια σύγχρονη στοίβα δεδομένων, ελπίζουμε ότι δεν θα χρειαστεί να χρησιμοποιήσετε πολύ το Airflow. Ωστόσο, σε ορισμένες περιπτώσεις όπου απαιτείται κάποια προσαρμογή, το Airflow μπορεί να είναι το εργαλείο σας.
Για να αποκτήσετε πρόσβαση στο UI, λάβετε την εντολή SSH παρόμοια με την παραπάνω ενότητα με το Airbyte. Χρησιμοποιήστε την ακόλουθη εντολή για port-forward:
gcloud beta compute ssh --zone "asia-southeast1-a" "tf-airbyte-demo-airflow" --project "tf-airbyte-demo" -- -L 8080:localhost:8080 -N -f
Τώρα μπορείτε να αποκτήσετε πρόσβαση στην εγκατάσταση Airflow στη διεύθυνση localhost: 8080. Το προεπιλεγμένο όνομα χρήστη και κωδικός πρόσβασης είναι διαχειριστής και διαχειριστής.
Εικόνα από συγγραφέα.
Μπορείτε να αποκτήσετε πρόσβαση στην εγκατάσταση ροής αέρα στη διεύθυνση /ροή αέρα/ μέσα στο VM.
Οπτικοποιήστε δεδομένα με το Metabase
Μετα-βάση είναι ένα εργαλείο οπτικοποίησης και ανακάλυψης δεδομένων ανοιχτού κώδικα. Είναι εξαιρετικά φιλικό προς το χρήστη και εύκολο να ξεκινήσετε.
Για να αποκτήσετε πρόσβαση στη διεπαφή χρήστη Metabase, λάβετε την εντολή SSH παρόμοια με την παραπάνω ενότητα με το Airbyte. Στη συνέχεια, χρησιμοποιήστε την ακόλουθη εντολή για port-forward:
gcloud beta compute ssh --zone "asia-southeast1-a" "tf-airbyte-demo-metabase" --project "tf-airbyte-demo" -- -L 3000:localhost:3000 -N -f
Εικόνα από συγγραφέα.
εκκαθάριση
Για να αποφύγετε τυχόν ανεπιθύμητο κόστος, φροντίστε να καθαρίσετε τους πόρους που δημιουργήθηκαν σε αυτό το έργο εκτελώντας.
terraform καταστρέψει
Προειδοποίηση: Αυτό θα διαγράψει τυχόν δεδομένα και πόρους που παραμένουν στο έργο. Εναλλακτικά, μπορείτε να απενεργοποιήσετε το αχρησιμοποίητο GCE για να εξοικονομήσετε επίσης κόστος.
Πρωτότυπο. Αναδημοσιεύτηκε με άδεια.
Bio: Τουάν Νγκουγιέν είναι ο CTO της Joon Solutions, εταιρεία δεδομένων ως υπηρεσία. Οι επαγγελματικές του εμπειρίες περιστρέφονται γύρω από τη δημιουργία και τη διαχείριση ομάδων επιστήμης δεδομένων, υποδομών αναλυτικών στοιχείων και περιπτώσεων χρήσης αναλυτικών στοιχείων. Του αρέσει να συνδυάζει το πάθος του για την ανάλυση δεδομένων και το cloud computing για να βοηθήσει τις επιχειρήσεις να παραμείνουν ανταγωνιστικές σε αυτήν την ψηφιακή μέρα και εποχή. Έχει ένα ευρύ φάσμα ενδιαφερόντων, όπως η αστρονομία, η ανάγνωση, η μουσική και το IoT.
Συγγενεύων:
Πηγή: https://www.kdnuggets.com/2021/08/bootstrap-modern-data-stack-terraform.html
- "
- &
- πρόσβαση
- Λογαριασμός
- Πρόσθετος
- Airbnb
- Όλα
- αναλυτής
- analytics
- Apache
- api
- αρχιτεκτονική
- γύρω
- άρθρο
- αστρονομία
- Πιστοποίηση
- αυτόματη
- βήτα
- μεγαλοπρεπές
- χρέωσης
- Blog
- επιτροπή
- μέλος του διοικητικού συμβουλίου
- σύνορο
- πρόγραμμα περιήγησης
- χτίζω
- Κτίριο
- επιχειρήσεις
- ο οποίος
- περιπτώσεις
- Backup
- cloud computing
- Cloud Platform
- κωδικός
- Εταιρείες
- εταίρα
- Υπολογίστε
- χρήση υπολογιστή
- περιεχόμενο
- Δικαστικά έξοδα
- δημιουργία
- ΚΟΤ
- ημερομηνία
- πρόσβαση δεδομένων
- Δεδομένα Analytics
- ολοκλήρωση δεδομένων
- επιστημονικά δεδομένα
- οπτικοποίηση δεδομένων
- αποθήκη δεδομένων
- αποθήκες δεδομένων
- βάση δεδομένων
- ημέρα
- βαθιά μάθηση
- καταστρέψει
- ψηφιακό
- Διευθυντής
- ανακάλυψη
- μηχανικός
- Μηχανικοί
- Δραστηριοτητες
- Όνομα
- Συγκέντρωση
- ακολουθήστε
- μορφή
- Δωρεάν
- Χρυσό
- Google Cloud
- GPU
- καθοδηγήσει
- εδώ
- Ψηλά
- Πως
- HTTPS
- Εκατοντάδες
- Υβριδικό
- IAM
- εικόνα
- Συμπεριλαμβανομένου
- Υποδομή
- ολοκλήρωση
- συμμετέχουν
- IoT
- IT
- ΜΑΘΑΊΝΩ
- μάθηση
- τοπικός
- τοπικά
- μάθηση μηχανής
- Κατασκευή
- medium
- ML
- χρήματα
- Μουσική
- διαδικτυακά (online)
- ανοίξτε
- ανοικτού κώδικα
- Γνώμη
- Επιλογές
- Κωδικός Πρόσβασης
- επίδοση
- πλατφόρμες
- Δημοφιλής
- σχέδιο
- δημόσιο
- σειρά
- Ανάγνωση
- μείωση
- πόρος
- Υποστηρικτικό υλικό
- τρέξιμο
- τρέξιμο
- Επιστήμη
- επιστήμονες
- SDK
- Αυτοεξυπηρέτηση
- Υπηρεσίες
- Απλούς
- Λύσεις
- Γνέθω
- SQL
- Εκκίνηση
- ξεκίνησε
- παραμονή
- ιστορίες
- συστήματα
- Τεχνολογίες
- ώρα
- κορυφή
- Μεταμόρφωση
- μετασχηματίζοντας
- ui
- αξία
- οραματισμός
- περιμένετε
- Αποθήκη
- Τι είναι
- Εργασία
- ροής εργασίας
- X
- έτος