Τι είναι η ETL;
Το ETL είναι μια διαδικασία που εξάγει δεδομένα από συστήματα πολλαπλών πηγών, τα αλλάζει (μέσω υπολογισμών, συνενώσεων κ.λπ.) και στη συνέχεια τα τοποθετεί στο σύστημα αποθήκης δεδομένων. Το ETL σημαίνει Extract, Transform και Load.
Είναι εύκολο να πιστέψει κανείς ότι η δημιουργία μιας αποθήκης δεδομένων είναι τόσο απλή όσο η άντληση δεδομένων από πολλές πηγές και η τροφοδοσία τους σε μια βάση δεδομένων αποθήκης δεδομένων. Αυτό απέχει πολύ από την περίπτωση και απαιτείται μια περίπλοκη διαδικασία ETL. Η διαδικασία ETL, η οποία είναι τεχνικά πολύπλοκη, περιλαμβάνει ενεργό συμμετοχή από διάφορους ενδιαφερόμενους φορείς, συμπεριλαμβανομένων προγραμματιστών, αναλυτών, δοκιμαστών και ανώτερων στελεχών.
Για να διατηρήσει την αξία του ως εργαλείο λήψης αποφάσεων, το σύστημα αποθήκης δεδομένων πρέπει να αναπτυχθεί σε συγχρονισμό με τις επιχειρηματικές εξελίξεις. Το ETL είναι μια τακτική (ημερήσια, εβδομαδιαία, μηνιαία) διαδικασία ενός συστήματος αποθήκης δεδομένων που πρέπει να είναι ευέλικτο, αυτοματοποιημένο και σωστά τεκμηριωμένο.
Πώς λειτουργεί το ETL;
Εδώ θα μάθουμε πώς λειτουργεί η διαδικασία ETL βήμα προς βήμα:
Βήμα 1) Εκχύλιση
Τα δεδομένα εξάγονται από το σύστημα πηγής και τοποθετούνται στην περιοχή σταδιοποίησης κατά την εξαγωγή. Εάν απαιτούνται μετασχηματισμοί, εκτελούνται στην περιοχή σταδιοποίησης, έτσι ώστε να μην βλάπτεται η απόδοση του συστήματος πηγής. Η επαναφορά θα είναι δύσκολη εάν τα κατεστραμμένα δεδομένα μεταφερθούν απευθείας από την πηγή στη βάση δεδομένων της αποθήκης δεδομένων. Πριν μεταφερθούν τα εξαγόμενα δεδομένα στην αποθήκη δεδομένων, μπορούν να επικυρωθούν στην περιοχή σταδιοποίησης.
Οι αποθήκες δεδομένων μπορούν να συνδυάσουν συστήματα με διαφορετικό υλικό, συστήματα διαχείρισης βάσεων δεδομένων, λειτουργικά συστήματα και πρωτόκολλα επικοινωνίας. Οι αποθήκες δεδομένων πρέπει να συνδυάζουν συστήματα με ανόμοια DBMS, υλικό, λειτουργικά συστήματα και πρωτόκολλα επικοινωνίας. Οι πηγές μπορεί να περιλαμβάνουν προγράμματα παλαιού τύπου, όπως mainframes, προσαρμοσμένες εφαρμογές, συσκευές σημείου επαφής όπως ATM και διακόπτες κλήσεων, αρχεία κειμένου, υπολογιστικά φύλλα, ERP, δεδομένα από προμηθευτές και συνεργάτες κ.λπ.
Επομένως, πριν από την εξαγωγή δεδομένων και τη φυσική φόρτωσή τους, απαιτείται ένας λογικός χάρτης δεδομένων. Η σύνδεση μεταξύ πηγών και δεδομένων προορισμού εμφανίζεται σε αυτόν τον χάρτη δεδομένων.
Τρεις μέθοδοι εξαγωγής δεδομένων:
- Μερική εξαγωγή – Εάν το σύστημα προέλευσης σάς ειδοποιεί όταν τροποποιείται μια εγγραφή, αυτός είναι ο απλούστερος τρόπος για να αποκτήσετε τα δεδομένα.
- Μερική εξαγωγή (χωρίς ειδοποίηση ενημέρωσης) – Δεν μπορούν όλα τα συστήματα να παρέχουν ειδοποίηση όταν πραγματοποιείται ενημέρωση. αλλά, μπορούν να υποδείξουν στις εγγραφές που έχουν αλλάξει και να παρέχουν εξαγωγή αυτών των εγγραφών.
- Πλήρες εκχύλισμα – Ορισμένα συστήματα δεν είναι σε θέση να προσδιορίσουν ποια δεδομένα έχουν αλλάξει καθόλου. Σε αυτό το σενάριο, ο μόνος τρόπος για να αφαιρέσετε τα δεδομένα από το σύστημα είναι να εκτελέσετε ένα πλήρες απόσπασμα. Αυτή η προσέγγιση απαιτεί να έχετε ένα αντίγραφο ασφαλείας του προηγούμενου αποσπάσματος στο
στην ίδια μορφή για να προσδιορίσετε τις αλλαγές που έχουν γίνει.
Ανεξάρτητα από τη μέθοδο που υιοθετείται, η εξαγωγή δεν θα πρέπει να έχει αντίκτυπο στην απόδοση ή τον χρόνο απόκρισης των συστημάτων πηγής. Αυτές είναι βάσεις δεδομένων παραγωγής σε πραγματικό χρόνο. Οποιαδήποτε επιβράδυνση ή κλείδωμα μπορεί να έχει αντίκτυπο στο τελικό αποτέλεσμα της εταιρείας.
Βήμα 2) Μεταμόρφωση
Τα δεδομένα που ανακτώνται από τον διακομιστή προέλευσης είναι ακατέργαστα και δεν μπορούν να χρησιμοποιηθούν στην αρχική τους κατάσταση. Ως αποτέλεσμα, πρέπει να καθαριστεί, να χαρτογραφηθεί και να μεταμορφωθεί. Στην πραγματικότητα, αυτό είναι το βασικό βήμα στο οποίο η διαδικασία ETL προσθέτει αξία και μετασχηματίζει δεδομένα προκειμένου να παράγει ουσιαστικές αναφορές BI.
Είναι μια βασική έννοια ETL στην οποία εφαρμόζετε μια συλλογή συναρτήσεων στα εξαγόμενα δεδομένα. Άμεση κίνηση or περάσουν από το data είναι ο τύπος δεδομένων που δεν απαιτεί μετασχηματισμό.
Μπορείτε να εκτελέσετε προσαρμοσμένες λειτουργίες σε δεδομένα κατά το βήμα μετασχηματισμού. Για παράδειγμα, ας υποθέσουμε ότι ο πελάτης θέλει ένα άθροισμα εσόδων από πωλήσεις που δεν υπάρχει στη βάση δεδομένων. ή εάν το όνομα και το επώνυμο ενός πίνακα βρίσκονται σε ξεχωριστές στήλες. Πριν από τη φόρτωση, μπορούν να συνδεθούν.
Ακολουθούν ορισμένα παραδείγματα ζητημάτων ακεραιότητας δεδομένων:
- Διαφορετικές ορθογραφίες του ίδιου ατόμου, όπως Prashant, Parshant κ.λπ.
- Υπάρχουν πολλοί τρόποι για να αντιπροσωπεύσετε ένα όνομα εταιρείας, όπως η Google, η Google Inc.
- Χρησιμοποιούνται διάφορα ονόματα, όπως το Κλίβελαντ και το Κλίβελαντ.
- Είναι πιθανό να παράγονται πολλοί αριθμοί λογαριασμού από διαφορετικές εφαρμογές για τον ίδιο πελάτη.
- Ορισμένα αρχεία που χρειάζονται δεδομένα παραμένουν κενά.
Βήμα 3) Φόρτωση
Το τελικό στάδιο στη διαδικασία ETL είναι η φόρτωση δεδομένων στη βάση δεδομένων της αποθήκης δεδομένων στόχου. Ένας μεγάλος όγκος δεδομένων φορτώνεται σε σχετικά σύντομο χρονικό διάστημα σε μια τυπική αποθήκη δεδομένων. Ως αποτέλεσμα, η διαδικασία φόρτωσης θα πρέπει να βελτιστοποιηθεί για απόδοση.
Σε περίπτωση αστοχίας φόρτωσης, θα πρέπει να τεθούν σε εφαρμογή διαδικασίες ανάκτησης έτσι ώστε οι λειτουργίες να μπορούν να ξεκινήσουν ξανά από το σημείο της αστοχίας χωρίς να διακυβεύεται η ακεραιότητα των δεδομένων. Οι διαχειριστές της αποθήκης δεδομένων πρέπει να παρακολουθούν, να συνεχίσουν και να σταματούν τις φορτώσεις με βάση την απόδοση του διακομιστή.
Τύποι φόρτωσης:
- Αρχικό φορτίο — γέμισμα όλων
τους πίνακες Data Warehouse - Αυξητικό Φορτίο — η εφαρμογή βρίσκεται σε εξέλιξη
τροποποιήσεις όπως απαιτείται σε τακτική βάση - Πλήρης ανανέωση — εκκαθάριση του περιεχομένου
ενός ή περισσότερων πινάκων και επαναφόρτωσή τους με νέα δεδομένα
Φόρτωση επαλήθευσης
- Βεβαιωθείτε ότι τα δεδομένα πεδίου κλειδιού δεν λείπουν ή δεν είναι μηδενικά.
- Θα πρέπει να ελέγχονται οι προβολές μοντελοποίησης που βασίζονται σε πίνακες στόχων.
- Εξετάστε τις συνδυασμένες τιμές3 και τα υπολογισμένα μέτρα.
- Έλεγχοι δεδομένων στους πίνακες διαστάσεων και ιστορικού.
- Εξετάστε τις αναφορές BI στον φορτωμένο πίνακα γεγονότων και διαστάσεων.
Ρύθμιση του ETL με χρήση PythonScript
Ως αποτέλεσμα, πρέπει να εκτελέσετε το βασικό φορτίο μετασχηματισμού εξαγωγής (ETL) από πολλές βάσεις δεδομένων σε μια αποθήκη δεδομένων, προκειμένου να κάνετε συγκέντρωση δεδομένων για επιχειρηματική ευφυΐα. Υπάρχουν πολλά διαθέσιμα πακέτα ETL που πιστεύατε ότι ήταν υπερβολικά για την περίπτωση βασικής χρήσης σας.
Θα σας δείξω πώς να εξαγάγετε δεδομένα από MySQL, SQL-server και firebird σε αυτό το άρθρο. Χρησιμοποιώντας την Python 3.6, μετατρέψτε τα δεδομένα και φορτώστε τα σε SQL-server (αποθήκη δεδομένων).
Πρώτα απ 'όλα, πρέπει να δημιουργήσουμε έναν κατάλογο για το έργο μας:
python_etl |__main.py |__db_credentials.py |__variables.py |__sql_queries.py |__etl.py
Για να ρυθμίσετε το ETL χρησιμοποιώντας Python, θα χρειαστεί να δημιουργήσετε τα ακόλουθα αρχεία στον κατάλογο του έργου σας.
- db_credentials.py: Θα πρέπει να έχει όλες τις πληροφορίες που απαιτούνται για τη σύνδεση σε όλες τις βάσεις δεδομένων. όπως Κωδικός Βάσης Δεδομένων, Αριθμός Θύρας κ.λπ.
- sql_queries.py: Όλα τα ερωτήματα της βάσης δεδομένων που χρησιμοποιούνται συνήθως για την εξαγωγή και τη φόρτωση δεδομένων σε μορφή String θα πρέπει να είναι διαθέσιμα.
- etl.py: Συνδεθείτε στη βάση δεδομένων και πραγματοποιήστε τα απαραίτητα ερωτήματα εκτελώντας όλες τις απαραίτητες διαδικασίες.
- main.py: Είναι υπεύθυνος για τη διαχείριση της ροής των λειτουργιών και την εκτέλεση των βασικών λειτουργιών με καθορισμένη σειρά.
Σε αυτήν την ενότητα του sql_queries.py, αυτό είναι το μέρος όπου πρόκειται να αποθηκεύσουμε όλα τα ερωτήματα sql για εξαγωγή από βάσεις δεδομένων πηγής και εισαγωγή στη βάση δεδομένων προορισμού (αποθήκη δεδομένων)
Ρύθμιση διαπιστευτηρίων και μεταβλητών βάσης δεδομένων
Στο variables.py, δημιουργήστε μια μεταβλητή για να καταγράψετε το όνομα της βάσης.
datawarehouse_name = 'your_datawarehouse_name'
Διαμορφώστε όλες τις συμβολοσειρές και τα διαπιστευτήρια σύνδεσης της βάσης δεδομένων προέλευσης και προορισμού στο db_credentials.py όπως φαίνεται παρακάτω. Αποθηκεύστε τη διαμόρφωση ως λίστα, ώστε να μπορούμε να την επαναλάβουμε όποτε απαιτείται μέσω πολλών βάσεων δεδομένων αργότερα.
από μεταβλητές εισαγωγή datawarehouse_name datawarehouse_name = 'your_datawarehouse_name' # sql-server (target db, datawarehouse) datawarehouse_db_config = { 'Trusted_Connection': 'yes', 'driver': '{SQL Server}', 'server_s': 'datawarehouse',ql_ware database': '{}'.format(datawarehouse_name), 'user': 'your_db_username', 'password': 'your_db_password', 'autocommit': True, } # sql-server (πηγή db) sqlserver_db_config = [ {onnectionT ': 'yes', 'driver': '{SQL Server}', 'server': 'your_sql_server', 'database': 'db1', 'user': 'your_db_username', 'password': 'your_db_password', ' autocommit': True, } ] # mysql (πηγή db) mysql_db_config = [ { 'user': 'your_user_1', 'password': 'your_password_1', 'host': 'db_connection_string_1', 'database': 'db', 'db' , { 'user': 'your_user_1', 'password': 'your_password_2', 'host': 'db_connection_string_2', 'database': 'db_2', }, ] # firebird (πηγή db) fdb_db_config = [ { 'dsn' : "/your/path/to/source.db", 'user': "your_username", 'password': "εσύ r_password", } ]
Ερωτήματα SQL
Σε αυτήν την ενότητα του sql_queries.py, αυτό είναι το μέρος όπου πρόκειται να αποθηκεύσουμε όλα τα ερωτήματα sql για εξαγωγή από βάσεις δεδομένων πηγής και εισαγωγή στη βάση δεδομένων προορισμού (αποθήκη δεδομένων).
Πρέπει να εφαρμόσουμε διάφορες συντακτικές για κάθε βάση δεδομένων επειδή εργαζόμαστε με πολλαπλές πλατφόρμες δεδομένων. Μπορούμε να το κάνουμε αυτό διαχωρίζοντας τα ερωτήματα με βάση τον τύπο της βάσης δεδομένων.
# παραδείγματα ερωτημάτων, θα διαφέρουν σε διαφορετικές πλατφόρμες db firebird_extract = (''' SELECT fbd_column_1, fbd_column_2, fbd_column_3 FROM fbd_table; ''') firebird_insert = (''' INSERT INTO πίνακα (στήλη_1, στήλη_2, στήλη_3, στήλη_2, στήλη_1, στήλη ? ?, ?) ''') firebird_extract_2 = (''' ΕΠΙΛΟΓΗ fbd_column_3, fbd_column_2, fbd_column_2 FROM fbd_table_2; ''') firebird_insert_1 = (''' INSERT INTO table_2 (στήλη_3, στήλη ?LU, VA)_1 ) ''') sqlserver_extract = (''' SELECT sqlserver_column_2, sqlserver_column_3, sqlserver_column_1 FROM sqlserver_table ''') sqlserver_insert = (''' INSERT INTO LU, 2 στήλη ? ) mysql_extract = ('''' ΕΠΙΛΟΓΗ mysql_column_3, mysql_column_1, mysql_column_2 FROM mysql_table ''') mysql_insert = ('''' INSERT INTO πίνακα (στήλη_3, στήλη_1, στήλη_2, στήλη_3, εξαγωγή #2) VA? class SqlQuery: def __init__(self, extract_query, load_query): self.extract_query = extract_query self.load_query = load_query # cre ate instances for SqlQuery class fbd_query = SqlQuery(firebird_extract, firebird_insert) fbd_query_2 = SqlQuery(firebird_extract_2, firebird_insert_2) sqlserver_query = SqlQuery(sqlserver_extract, sqlserver_insert) mysql_query = SqlQuery(mysql_extract, mysql_insert) # store as list for iteration fbd_queries = [fbdquery, fbd_query_XNUMX] sqlserver_queries = [sqlserver_query] mysql_queries = [mysql_query]
Φορτίο μετασχηματισμού εξαγωγής
Για να ρυθμίσετε το ETL χρησιμοποιώντας Python για τις προαναφερθείσες πηγές δεδομένων, θα χρειαστείτε τις ακόλουθες ενότητες:
# λειτουργικές μονάδες python εισαγωγή mysql.connector εισαγωγή pyodbc εισαγωγή fdb # μεταβλητές από μεταβλητές εισαγωγή datawarehouse_name
Μπορούμε να χρησιμοποιήσουμε δύο τεχνικές σε αυτό: etl() και etl_process().
Η etl_process() είναι η διαδικασία για τη δημιουργία μιας σύνδεσης πηγής βάσης δεδομένων και την κλήση της μεθόδου etl() που βασίζεται στην πλατφόρμα της βάσης δεδομένων.
Και στη δεύτερη μέθοδο που είναι η μέθοδος etl(), εκτελεί πρώτα το ερώτημα εξαγωγής, στη συνέχεια αποθηκεύει τα δεδομένα SQL στα δεδομένα της μεταβλητής και τα εισάγει στη στοχευμένη βάση δεδομένων, που είναι η αποθήκη δεδομένων μας. Ο μετασχηματισμός δεδομένων μπορεί να επιτευχθεί αλλάζοντας τη μεταβλητή δεδομένων του τύπου πλειάδας.
def etl(query, source_cnx, target_cnx): # εξαγωγή δεδομένων από την πηγή db source_cursor = source_cnx.cursor() source_cursor.execute(query.extract_query) data = source_cursor.fetchall() source_cursor.close() # φόρτωση δεδομένων στην αποθήκη db εάν data: target_cursor = target_cnx.cursor() target_cursor.execute("USE {}".format(datawarehouse_name)) target_cursor.executemany(query.load_query, data) print('data loaded to warehouse db') target_cursor.close() else : print('τα δεδομένα είναι κενά') def etl_process(queries, target_cnx, source_db_config, db_platform): # δημιουργία σύνδεσης πηγής db if db_platform == 'mysql': source_cnx = mysql.connector.connect(**source_db_db_config_platif) elifif 'sqlserver': source_cnx = pyodbc.connect(**source_db_config) elif db_platform == 'firebird': source_cnx = fdb.connect(**source_db_config) else: επιστροφή 'Σφάλμα! μη αναγνωρισμένη πλατφόρμα db' # βρόχος μέσω ερωτημάτων sql για ερώτημα σε ερωτήματα: etl(query, source_cnx, target_cnx) # κλείσιμο της πηγής σύνδεσης db source_cnx.close()
Βάζοντας τα πάντα μαζί
Τώρα, στο επόμενο βήμα, μπορούμε να κάνουμε βρόχο πάνω από όλα τα διαπιστευτήρια στο main.py και να εκτελέσουμε το etl για όλες τις βάσεις δεδομένων.
Για αυτό πρέπει να εισάγουμε όλες τις απαιτούμενες μεταβλητές και μεθόδους:
# μεταβλητές από db_credentials εισαγωγή datawarehouse_db_config, sqlserver_db_config, mysql_db_config, fbd_db_config από sql_queries εισαγωγή fbd_queries, sqlserver_queries, mysql_queries από μεθόδους μεταβλητών από τις μεταβλητές importlet_importlcess #
Ο κώδικας σε αυτό το αρχείο είναι υπεύθυνος για την επανάληψη των διαπιστευτηρίων προκειμένου να συνδεθεί στη βάση δεδομένων και να εκτελέσει το απαραίτητο ETL χρησιμοποιώντας λειτουργίες Python.
def main(): print('starting etl') # install connection for target database (sql-server) target_cnx = pyodbc.connect(**datawarehouse_db_config) # loop through credentials # mysql for config in mysql_db_config: try: print("loading db: " + config['database']) etl_process(mysql_queries, target_cnx, config, 'mysql') εκτός Εξαίρεση ως σφάλμα: print("etl for {} has error".format(config['database'])) print ('μήνυμα σφάλματος: {}'.format(error)) συνέχεια # sql-server για config στο sqlserver_db_config: try: print("loading db: " + config['database']) etl_process(sqlserver_queries, target_cnx, config, ' sqlserver') εκτός Εξαίρεση ως σφάλμα: print("etl for {} has error".format(config['database'])) print('error message: {}'.format(error)) συνέχεια # firebird για διαμόρφωση σε fbd_db_config: try: print("loading db: " + config['database']) etl_process(fbd_queries, target_cnx, config, 'firebird') εκτός από Εξαίρεση ως σφάλμα: print("etl for {} has error".format(config ['βάση δεδομένων'])) print('μήνυμα σφάλματος: {}'.fo rmat(error)) continue target_cnx.close() if __name__ == "__main__": main()
Στο τερματικό σας, πληκτρολογήστε python main.py και μόλις δημιουργήσατε ένα ETL χρησιμοποιώντας ένα καθαρό σενάριο python.
Εργαλεία ETL
Υπάρχουν πολλά εργαλεία αποθήκευσης δεδομένων στην αγορά. Εδώ είναι μερικά από τα πιο διάσημα παραδείγματα:
1. MarkLogic:
Το MarkLogic είναι ένα σύστημα αποθήκευσης δεδομένων που χρησιμοποιεί μια σειρά επιχειρηματικών δυνατοτήτων για να κάνει την ενοποίηση δεδομένων ευκολότερη και ταχύτερη. Μπορεί να ρωτήσει πολλά είδη δεδομένων, όπως έγγραφα, σχέσεις και μεταδεδομένα.
https://www.marklogic.com/product/getting-started/
2. Oracle:
Η Oracle είναι η πιο δημοφιλής βάση δεδομένων του κλάδου. Προσφέρει μια τεράστια ποικιλία λύσεων Data Warehouse τόσο για υπηρεσίες εσωτερικού χώρου όσο και για υπηρεσίες cloud. Βοηθά σε καλύτερες εμπειρίες πελατών, ενισχύοντας τη λειτουργική αποτελεσματικότητα.
https://www.oracle.com/index.html
3. Amazon RedShift:
Το Redshift είναι μια λύση αποθήκευσης δεδομένων από την Amazon. Είναι μια απλή και οικονομικά αποδοτική λύση για την ανάλυση διαφόρων ειδών δεδομένων με την τυπική SQL και τα υπάρχοντα εργαλεία επιχειρηματικής ευφυΐας. Επιτρέπει επίσης την εκτέλεση σύνθετων ερωτημάτων σε petabyte δομημένων δεδομένων.
https://aws.amazon.com/redshift/?nc2=h_m1
Συμπέρασμα
Αυτό το άρθρο σας έδωσε μια βαθιά κατανόηση του τι είναι το ETL, καθώς και ένα βήμα προς βήμα σεμινάριο για το πώς να ρυθμίσετε το ETL σας στην Python. Σας έδωσε επίσης μια λίστα με τα καλύτερα εργαλεία που χρησιμοποιούν οι περισσότεροι οργανισμοί στις μέρες μας για να δημιουργήσουν τους αγωγούς δεδομένων ETL.
Οι περισσότεροι οργανισμοί στις μέρες μας, από την άλλη πλευρά, διαθέτουν τεράστιο όγκο δεδομένων με εξαιρετικά δυναμική δομή. Η δημιουργία ενός αγωγού ETL από την αρχή για τέτοια δεδομένα είναι μια δύσκολη διαδικασία, καθώς οι οργανισμοί θα πρέπει να χρησιμοποιήσουν μεγάλο αριθμό πόρων για να δημιουργήσουν αυτόν τον αγωγό και στη συνέχεια να διασφαλίσουν ότι μπορεί να συμβαδίσει με τον υψηλό όγκο δεδομένων και τις αλλαγές Σχήματος.
Σχετικά με το Συγγραφέας
Πράσαντ Σάρμα
Επί του παρόντος, επιδιώκω το πτυχίο μου στην τεχνολογία (B.Tech) από το Τεχνολογικό Ινστιτούτο Vellore. Είμαι πολύ ενθουσιώδης με τον προγραμματισμό και τις πραγματικές του εφαρμογές, όπως η ανάπτυξη λογισμικού, η μηχανική μάθηση, η βαθιά μάθηση και η επιστήμη δεδομένων.
Ελπίζω να σας αρέσει το άρθρο. Αν θέλετε να συνδεθείτε μαζί μου, μπορείτε να συνδεθείτε στο:
ή για τυχόν άλλες αμφιβολίες, μπορείτε στείλε ένα mail και σε μένα επίσης
Σχετικά:
- '
- "
- Λογαριασμός
- ενεργός
- Όλα
- Amazon
- analytics
- εφαρμογές
- ΠΕΡΙΟΧΗ
- άρθρο
- Αυτοματοποιημένη
- εφεδρικός
- ενίσχυση
- χτίζω
- Κτίριο
- επιχείρηση
- επιχειρηματικής ευφυΐας
- κλήση
- έλεγχοι
- cleveland
- Backup
- υπηρεσίες cloud
- κωδικός
- Επικοινωνία
- εταίρα
- σύνδεση
- ΣΥΝΕΧΕΙΑ
- δημιουργία
- Διαπιστεύσεις
- ημερομηνία
- ολοκλήρωση δεδομένων
- επιστημονικά δεδομένα
- αποθήκη δεδομένων
- αποθήκες δεδομένων
- βάση δεδομένων
- βάσεις δεδομένων
- βαθιά μάθηση
- ανάπτυξη
- προγραμματιστές
- Ανάπτυξη
- Συσκευές
- Διάσταση
- έγγραφα
- οδηγός
- αποδοτικότητα
- κ.λπ.
- εκτέλεση
- στελέχη
- Δραστηριοτητες
- εξαγωγή
- Εκχυλίσματα
- Αποτυχία
- Όνομα
- ροή
- μορφή
- φρέσκο
- πλήρη
- καθοδηγήσει
- υλικού
- εδώ
- Ψηλά
- ιστορία
- Πως
- Πώς να
- HTTPS
- προσδιορίσει
- Επίπτωση
- εισαγωγή
- Συμπεριλαμβανομένου
- πληροφορίες
- ολοκλήρωση
- Νοημοσύνη
- θέματα
- IT
- Κλειδί
- large
- ΜΑΘΑΊΝΩ
- μάθηση
- γραμμή
- Λίστα
- φορτίο
- μάθηση μηχανής
- διαχείριση
- χάρτη
- αγορά
- Εικόνες / Βίντεο
- Δημοφιλέστερα
- μετακινήσετε
- ονόματα
- κοινοποίηση
- αριθμοί
- προσφορές
- λειτουργίας
- λειτουργικά συστήματα
- λειτουργίες
- μαντείο
- τάξη
- οργανώσεις
- ΑΛΛΑ
- Συνεργάτες
- Κωδικός Πρόσβασης
- επίδοση
- πλατφόρμες
- Πλατφόρμες
- Δημοφιλής
- Παράγεται
- παραγωγή
- Προγραμματισμός
- Προγράμματα
- σχέδιο
- τραβώντας
- Python
- Ακατέργαστος
- σε πραγματικό χρόνο
- Πραγματικότητα
- αρχεία
- ανάκτηση
- Σχέσεις
- Εκθέσεις
- Υποστηρικτικό υλικό
- απάντησης
- έσοδα
- Επιστήμη
- Υπηρεσίες
- σειρά
- Κοντά
- Απλούς
- So
- λογισμικό
- ανάπτυξη λογισμικού
- Λύσεις
- SQL
- Στάδιο
- Κατάσταση
- κατάστημα
- καταστήματα
- σύστημα
- συστήματα
- στόχος
- tech
- τεχνικές
- Τεχνολογία
- Η Πηγη
- ώρα
- Μεταμόρφωση
- φροντιστήριο
- Ενημέρωση
- αξία
- πωλητές
- τόμος
- Αποθήκη
- Αποθήκευση
- εβδομαδιαίος
- Εργασία
- λειτουργεί