Στη σημερινή ψηφιακή εποχή, τα δεδομένα βρίσκονται στο επίκεντρο της επιτυχίας κάθε οργανισμού. Μία από τις πιο συχνά χρησιμοποιούμενες μορφές για την ανταλλαγή δεδομένων είναι η XML. Η ανάλυση αρχείων XML είναι ζωτικής σημασίας για διάφορους λόγους. Πρώτον, τα αρχεία XML χρησιμοποιούνται σε πολλούς κλάδους, συμπεριλαμβανομένων των οικονομικών, της υγειονομικής περίθαλψης και της κυβέρνησης. Η ανάλυση αρχείων XML μπορεί να βοηθήσει τους οργανισμούς να αποκτήσουν πληροφορίες για τα δεδομένα τους, επιτρέποντάς τους να λαμβάνουν καλύτερες αποφάσεις και να βελτιώνουν τις λειτουργίες τους. Η ανάλυση αρχείων XML μπορεί επίσης να βοηθήσει στην ενοποίηση δεδομένων, επειδή πολλές εφαρμογές και συστήματα χρησιμοποιούν την XML ως τυπική μορφή δεδομένων. Αναλύοντας αρχεία XML, οι οργανισμοί μπορούν εύκολα να ενσωματώσουν δεδομένα από διαφορετικές πηγές και να εξασφαλίσουν συνέπεια στα συστήματά τους. Ωστόσο, τα αρχεία XML περιέχουν ημι-δομημένα, έντονα ένθετα δεδομένα, καθιστώντας δύσκολη την πρόσβαση και την ανάλυση πληροφοριών, ειδικά εάν το αρχείο είναι μεγάλο και έχει περίπλοκο, πολύ ένθετο σχήμα.
Τα αρχεία XML είναι κατάλληλα για εφαρμογές, αλλά μπορεί να μην είναι τα βέλτιστα για μηχανές ανάλυσης. Προκειμένου να βελτιωθεί η απόδοση των ερωτημάτων και να επιτραπεί η εύκολη πρόσβαση σε μηχανές μεταγενέστερης ανάλυσης, όπως Αμαζόν Αθηνά, είναι ζωτικής σημασίας η προεπεξεργασία αρχείων XML σε μορφή στήλης όπως το Parquet. Αυτός ο μετασχηματισμός επιτρέπει βελτιωμένη αποτελεσματικότητα και χρηστικότητα στις ροές εργασιών αναλυτικών στοιχείων. Σε αυτήν την ανάρτηση, δείχνουμε πώς να επεξεργάζεστε δεδομένα XML χρησιμοποιώντας Κόλλα AWS και η Αθηνά.
Επισκόπηση λύσεων
Εξερευνούμε δύο διαφορετικές τεχνικές που μπορούν να βελτιώσουν τη ροή εργασιών επεξεργασίας αρχείων XML:
- Τεχνική 1: Χρησιμοποιήστε έναν ανιχνευτή AWS Glue και το οπτικό πρόγραμμα επεξεργασίας AWS Glue – Μπορείτε να χρησιμοποιήσετε τη διεπαφή χρήστη AWS Glue σε συνδυασμό με έναν ανιχνευτή για να ορίσετε τη δομή του πίνακα για τα αρχεία XML σας. Αυτή η προσέγγιση παρέχει μια φιλική προς τον χρήστη διεπαφή και είναι ιδιαίτερα κατάλληλη για άτομα που προτιμούν μια γραφική προσέγγιση στη διαχείριση των δεδομένων τους.
- Τεχνική 2: Χρησιμοποιήστε AWS Glue Dynamic Frames με συμπερασμένα και σταθερά σχήματα – Ο ανιχνευτής έχει έναν περιορισμό όταν πρόκειται για την επεξεργασία μιας μεμονωμένης σειράς σε αρχεία XML μεγαλύτερα από 1 MB. Για να ξεπεράσουμε αυτόν τον περιορισμό, χρησιμοποιούμε ένα σημειωματάριο AWS Glue για την κατασκευή AWS Glue
DynamicFrames
, χρησιμοποιώντας τόσο συναγόμενα όσο και σταθερά σχήματα. Αυτή η μέθοδος εξασφαλίζει αποτελεσματικό χειρισμό αρχείων XML με σειρές που υπερβαίνουν το 1 MB σε μέγεθος.
Και στις δύο προσεγγίσεις, ο απώτερος στόχος μας είναι να μετατρέψουμε αρχεία XML σε μορφή Apache Parquet, καθιστώντας τα άμεσα διαθέσιμα για αναζήτηση με χρήση του Athena. Με αυτές τις τεχνικές, μπορείτε να βελτιώσετε την ταχύτητα επεξεργασίας και την προσβασιμότητα των δεδομένων σας XML, επιτρέποντάς σας να αντλήσετε πολύτιμες πληροφορίες με ευκολία.
Προϋποθέσεις
Πριν ξεκινήσετε αυτό το σεμινάριο, συμπληρώστε τις ακόλουθες προϋποθέσεις (αυτές ισχύουν και για τις δύο τεχνικές):
- Κατεβάστε τα αρχεία XML τεχνική1.xml και τεχνική2.xml.
- Ανεβάστε τα αρχεία σε ένα Απλή υπηρεσία αποθήκευσης Amazon (Amazon S3) κάδος. Μπορείτε να τα ανεβάσετε στον ίδιο κάδο S3 σε διαφορετικούς φακέλους ή σε διαφορετικούς κάδους S3.
- Δημιουργία ενός Διαχείριση ταυτότητας και πρόσβασης AWS ρόλος (IAM) για την εργασία ή το σημειωματάριό σας στο ETL σύμφωνα με τις οδηγίες Ρυθμίστε τα δικαιώματα IAM για το AWS Glue Studio.
- Προσθέστε μια ενσωματωμένη πολιτική στον ρόλο σας με το iam:PassRole δράση:
- Προσθέστε μια πολιτική αδειών στον ρόλο με πρόσβαση στον κάδο S3 σας.
Τώρα που τελειώσαμε με τα προαπαιτούμενα, ας προχωρήσουμε στην εφαρμογή της πρώτης τεχνικής.
Τεχνική 1: Χρησιμοποιήστε έναν ανιχνευτή AWS Glue και το οπτικό πρόγραμμα επεξεργασίας
Το παρακάτω διάγραμμα απεικονίζει την απλή αρχιτεκτονική που μπορείτε να χρησιμοποιήσετε για να εφαρμόσετε τη λύση.
Για να αναλύσουμε αρχεία XML που είναι αποθηκευμένα στο Amazon S3 χρησιμοποιώντας AWS Glue και Athena, ολοκληρώνουμε τα ακόλουθα βήματα υψηλού επιπέδου:
- Δημιουργήστε έναν ανιχνευτή AWS Glue για να εξαγάγετε μεταδεδομένα XML και να δημιουργήσετε έναν πίνακα στον Κατάλογο δεδομένων κόλλας AWS.
- Επεξεργαστείτε και μετατρέψτε τα δεδομένα XML σε μια μορφή (όπως το Parquet) κατάλληλη για την Athena χρησιμοποιώντας μια εργασία εξαγωγής, μετασχηματισμού και φόρτωσης AWS Glue (ETL).
- Ρυθμίστε και εκτελέστε μια εργασία κόλλας AWS μέσω της κονσόλας AWS Glue ή του Διεπαφή γραμμής εντολών AWS (AWS CLI).
- Χρησιμοποιήστε τα επεξεργασμένα δεδομένα (σε μορφή Parquet) με πίνακες Athena, ενεργοποιώντας τα ερωτήματα SQL.
- Χρησιμοποιήστε τη φιλική προς το χρήστη διεπαφή στο Athena για να αναλύσετε τα δεδομένα XML με ερωτήματα SQL στα δεδομένα σας που είναι αποθηκευμένα στο Amazon S3.
Αυτή η αρχιτεκτονική είναι μια επεκτάσιμη, οικονομικά αποδοτική λύση για την ανάλυση δεδομένων XML στο Amazon S3 χρησιμοποιώντας AWS Glue και Athena. Μπορείτε να αναλύσετε μεγάλα σύνολα δεδομένων χωρίς πολύπλοκη διαχείριση υποδομής.
Χρησιμοποιούμε τον ανιχνευτή AWS Glue για την εξαγωγή μεταδεδομένων αρχείων XML. Μπορείτε να επιλέξετε τον προεπιλεγμένο ταξινομητή AWS Glue για ταξινόμηση XML γενικής χρήσης. Ανιχνεύει αυτόματα τη δομή και το σχήμα δεδομένων XML, το οποίο είναι χρήσιμο για κοινές μορφές.
Χρησιμοποιούμε επίσης έναν προσαρμοσμένο ταξινομητή XML σε αυτήν τη λύση. Έχει σχεδιαστεί για συγκεκριμένα σχήματα ή μορφές XML, επιτρέποντας την ακριβή εξαγωγή μεταδεδομένων. Αυτό είναι ιδανικό για μη τυπικές μορφές XML ή όταν χρειάζεστε λεπτομερή έλεγχο της ταξινόμησης. Ένας προσαρμοσμένος ταξινομητής διασφαλίζει ότι εξάγονται μόνο τα απαραίτητα μεταδεδομένα, απλοποιώντας τις εργασίες επεξεργασίας και ανάλυσης κατάντη. Αυτή η προσέγγιση βελτιστοποιεί τη χρήση των αρχείων XML σας.
Το ακόλουθο στιγμιότυπο οθόνης δείχνει ένα παράδειγμα αρχείου XML με ετικέτες.
Δημιουργήστε έναν προσαρμοσμένο ταξινομητή
Σε αυτό το βήμα, δημιουργείτε έναν προσαρμοσμένο ταξινομητή AWS Glue για να εξαγάγετε μεταδεδομένα από ένα αρχείο XML. Ολοκληρώστε τα παρακάτω βήματα:
- Στην κονσόλα κόλλας AWS, κάτω Ανιχνευτές στο παράθυρο πλοήγησης, επιλέξτε Ταξινομητές.
- Επιλέξτε Προσθήκη ταξινομητή.
- Αγορά XML ως τύπος ταξινομητή.
- Εισαγάγετε ένα όνομα για τον ταξινομητή, όπως π.χ
blog-glue-xml-contact
. - Για Ετικέτα σειράς, εισαγάγετε το όνομα της ετικέτας ρίζας που περιέχει τα μεταδεδομένα (για παράδειγμα,
metadata
). - Επιλέξτε Δημιουργία.
Δημιουργήστε ένα AWS Glue Crawler για ανίχνευση αρχείου xml
Σε αυτήν την ενότητα, δημιουργούμε ένα Glue Crawler για την εξαγωγή των μεταδεδομένων από το αρχείο XML χρησιμοποιώντας τον ταξινομητή πελάτη που δημιουργήθηκε στο προηγούμενο βήμα.
Δημιουργήστε μια βάση δεδομένων
- Πηγαίνετε στο Κονσόλα κόλλας AWS, επιλέξτε Βάσεις Δεδομένων στο παράθυρο πλοήγησης.
- Κάντε κλικ στο Προσθήκη βάσης δεδομένων.
- Δώστε ένα όνομα όπως
blog_glue_xml
- Επιλέξτε Δημιουργία βάση δεδομένων
Δημιουργήστε ένα Crawler
Ολοκληρώστε τα παρακάτω βήματα για να δημιουργήσετε τον πρώτο σας ανιχνευτή:
- Στην κονσόλα κόλλας AWS, επιλέξτε Ανιχνευτές στο παράθυρο πλοήγησης.
- Επιλέξτε Δημιουργία ανιχνευτή.
- Στις Ορισμός ιδιοτήτων ανιχνευτή σελίδα, δώστε ένα όνομα για το νέο πρόγραμμα ανίχνευσης (π.χ
blog-glue-parquet
), Στη συνέχεια, επιλέξτε Επόμενο. - Στις Επιλέξτε πηγές δεδομένων και ταξινομητές σελίδα, επιλέξτε Οχι ακόμα υπό Διαμόρφωση πηγής δεδομένων.
- Επιλέξτε Προσθέστε ένα χώρο αποθήκευσης δεδομένων.
- Για Διαδρομή S3, περιηγηθείτε σε
s3://${BUCKET_NAME}/input/geologicalsurvey/
.
Βεβαιωθείτε ότι έχετε επιλέξει το φάκελο XML και όχι το αρχείο μέσα στο φάκελο.
- Αφήστε τις υπόλοιπες επιλογές ως προεπιλογές και επιλέξτε Προσθέστε μια πηγή δεδομένων S3.
- Ανάπτυξη Προσαρμοσμένοι ταξινομητές – προαιρετικοί, επιλέξτε blog-glue-xml-contact και μετά επιλέξτε Επόμενο και κρατήστε τις υπόλοιπες επιλογές ως προεπιλογή.
- Επιλέξτε τον ρόλο του IAM ή επιλέξτε Δημιουργήστε νέο ρόλο IAM, προσθέστε το επίθημα
glue-xml-contact
(για παράδειγμα,AWSGlueServiceNotebookRoleBlog
) και επιλέξτε Επόμενο. - Στις Ρυθμίστε την έξοδο και τον προγραμματισμό σελίδα, κάτω Διαμόρφωση εξόδου, επιλέξτε
blog_glue_xml
for Βάση δεδομένων στόχου. - εισάγετε
console_
ως το πρόθεμα που προστίθεται στους πίνακες (προαιρετικό) και κάτω Πρόγραμμα ανίχνευσης, διατηρήστε τη συχνότητα ρυθμισμένη σε Κατα παραγγελια. - Επιλέξτε Επόμενο.
- Ελέγξτε όλες τις παραμέτρους και επιλέξτε Δημιουργία ανιχνευτή.
Εκτελέστε το Crawler
Αφού δημιουργήσετε τον ανιχνευτή, ολοκληρώστε τα παρακάτω βήματα για να το εκτελέσετε:
- Στην κονσόλα κόλλας AWS, επιλέξτε Ανιχνευτές στο παράθυρο πλοήγησης.
- Ανοίξτε το πρόγραμμα ανίχνευσης που δημιουργήσατε και επιλέξτε τρέξιμο.
Ο ανιχνευτής θα χρειαστεί 1–2 λεπτά για να ολοκληρωθεί.
- Όταν ολοκληρωθεί ο ανιχνευτής, επιλέξτε Βάσεις Δεδομένων στο παράθυρο πλοήγησης.
- Επιλέξτε τη βάση δεδομένων που δημιουργήσατε και επιλέξτε το όνομα του πίνακα για να δείτε το σχήμα που εξήχθη από το πρόγραμμα ανίχνευσης.
Δημιουργήστε μια εργασία AWS Glue για να μετατρέψετε το XML σε μορφή Parquet
Σε αυτό το βήμα, δημιουργείτε μια εργασία AWS Glue Studio για να μετατρέψετε το αρχείο XML σε αρχείο Parquet. Ολοκληρώστε τα παρακάτω βήματα:
- Στην κονσόλα κόλλας AWS, επιλέξτε Θέσεις εργασίας στο παράθυρο πλοήγησης.
- Κάτω από Δημιουργήστε εργασία, Επιλέξτε Οπτική με έναν κενό καμβά.
- Επιλέξτε Δημιουργία.
- Μετονομάστε την εργασία σε
blog_glue_xml_job
.
Τώρα έχετε ένα κενό πρόγραμμα επεξεργασίας εργασιών AWS Glue Studio. Στο επάνω μέρος του προγράμματος επεξεργασίας υπάρχουν οι καρτέλες για διαφορετικές προβολές.
- Επιλέξτε Γραφή καρτέλα για να δείτε ένα κενό κέλυφος του σεναρίου AWS Glue ETL.
Καθώς προσθέτουμε νέα βήματα στο οπτικό πρόγραμμα επεξεργασίας, το σενάριο θα ενημερώνεται αυτόματα.
- Επιλέξτε Λεπτομέρειες εργασίας καρτέλα για να δείτε όλες τις διαμορφώσεις εργασιών.
- Για IAM ρόλο, επιλέξτε
AWSGlueServiceNotebookRoleBlog
. - Για Έκδοση κόλλας, επιλέξτε Glue 4.0 – Support Spark 3.3, Scala 2, Python 3.
- σετ Ζητούμενος αριθμός εργαζομένων να 2.
- σετ Αριθμός επαναλήψεων να 0.
- Επιλέξτε Οπτικό καρτέλα για να επιστρέψετε στο οπτικό πρόγραμμα επεξεργασίας.
- Στις Πηγή αναπτυσσόμενο μενού, επιλέξτε Κατάλογος δεδομένων κόλλας AWS.
- Στις Ιδιότητες πηγής δεδομένων – Κατάλογος δεδομένων καρτέλα, δώστε τις ακόλουθες πληροφορίες:
- Για βάση δεδομένων, επιλέξτε
blog_glue_xml
. - Για Τραπέζι, επιλέξτε τον πίνακα που ξεκινά με το όνομα κονσόλα_ που δημιούργησε το πρόγραμμα ανίχνευσης (για παράδειγμα,
console_geologicalsurvey
).
- Για βάση δεδομένων, επιλέξτε
- Στις Ιδιότητες κόμβου καρτέλα, δώστε τις ακόλουθες πληροφορίες:
- Αλλαγή Όνομα προς την
geologicalsurvey
σύνολο δεδομένων - Επιλέξτε Ενέργειες και η μεταμόρφωση Αλλαγή σχήματος (Εφαρμογή αντιστοίχισης).
- Επιλέξτε Ιδιότητες κόμβου και αλλάξτε το όνομα του μετασχηματισμού από Αλλαγή σχήματος (Εφαρμογή αντιστοίχισης) σε
ApplyMapping
. - Στις στόχος μενού, επιλέξτε S3.
- Αλλαγή Όνομα προς την
- Στις Ιδιότητες πηγής δεδομένων - S3 καρτέλα, δώστε τις ακόλουθες πληροφορίες:
- Για Μορφή, Επιλέξτε Παρκέ.
- Για Τύπος συμπίεσης, Επιλέξτε Ασυμπίεστος.
- Για Τύπος πηγής S3, Επιλέξτε S3 τοποθεσία.
- Για URL S3, εισαγω
s3://${BUCKET_NAME}/output/parquet/
. - Επιλέξτε Ιδιότητες κόμβου και αλλάξτε το όνομα σε
Output
.
- Επιλέξτε Αποθήκευση για να σώσει τη δουλειά.
- Επιλέξτε τρέξιμο να τρέξει τη δουλειά.
Το ακόλουθο στιγμιότυπο οθόνης δείχνει την εργασία στο οπτικό πρόγραμμα επεξεργασίας.
Δημιουργήστε ένα AWS Gue Crawler για να ανιχνεύσετε το αρχείο Parquet
Σε αυτό το βήμα, δημιουργείτε έναν ανιχνευτή AWS Glue για να εξαγάγετε μεταδεδομένα από το αρχείο Parquet που δημιουργήσατε χρησιμοποιώντας μια εργασία AWS Glue Studio. Αυτή τη φορά, χρησιμοποιείτε τον προεπιλεγμένο ταξινομητή. Ολοκληρώστε τα παρακάτω βήματα:
- Στην κονσόλα κόλλας AWS, επιλέξτε Ανιχνευτές στο παράθυρο πλοήγησης.
- Επιλέξτε Δημιουργία ανιχνευτή.
- Στις Ορισμός ιδιοτήτων ανιχνευτή σελίδα, δώστε ένα όνομα για το νέο πρόγραμμα ανίχνευσης, όπως blog-glue-parquet-contact και, στη συνέχεια, επιλέξτε Επόμενο.
- Στις Επιλέξτε πηγές δεδομένων και ταξινομητές σελίδα, επιλέξτε Οχι ακόμα for Διαμόρφωση πηγής δεδομένων.
- Επιλέξτε Προσθέστε ένα χώρο αποθήκευσης δεδομένων.
- Για Διαδρομή S3, περιηγηθείτε σε
s3://${BUCKET_NAME}/output/parquet/
.
Βεβαιωθείτε ότι έχετε επιλέξει το parquet
φάκελο και όχι το αρχείο μέσα στο φάκελο.
- Επιλέξτε τον ρόλο IAM που δημιουργήθηκε κατά την ενότητα προαπαιτούμενων ή επιλέξτε Δημιουργήστε νέο ρόλο IAM (για παράδειγμα,
AWSGlueServiceNotebookRoleBlog
) και επιλέξτε Επόμενο. - Στις Ρυθμίστε την έξοδο και τον προγραμματισμό σελίδα, κάτω Διαμόρφωση εξόδου, επιλέξτε
blog_glue_xml
for βάση δεδομένων. - εισάγετε
parquet_
ως το πρόθεμα που προστίθεται στους πίνακες (προαιρετικό) και κάτω Πρόγραμμα ανίχνευσης, διατηρήστε τη συχνότητα ρυθμισμένη σε Κατα παραγγελια. - Επιλέξτε Επόμενο.
- Ελέγξτε όλες τις παραμέτρους και επιλέξτε Δημιουργία ανιχνευτή.
Τώρα μπορείτε να εκτελέσετε το πρόγραμμα ανίχνευσης, το οποίο χρειάζεται 1–2 λεπτά για να ολοκληρωθεί.
Μπορείτε να κάνετε προεπισκόπηση του σχήματος που δημιουργήθηκε πρόσφατα για το αρχείο Parquet στον κατάλογο δεδομένων AWS Glue, το οποίο είναι παρόμοιο με το σχήμα του αρχείου XML.
Διαθέτουμε πλέον δεδομένα που είναι κατάλληλα για χρήση με την Αθηνά. Στην επόμενη ενότητα, εκτελούμε ερωτήματα δεδομένων χρησιμοποιώντας το Athena.
Ρωτήστε το αρχείο Parquet χρησιμοποιώντας το Athena
Η Athena δεν υποστηρίζει την υποβολή ερωτημάτων Μορφή αρχείου XML, γι' αυτό μετατρέψατε το αρχείο XML σε Parquet για πιο αποτελεσματική αναζήτηση δεδομένων και χρήση σημειογραφία με τελείες για την αναζήτηση σύνθετων τύπων και ένθετων δομών.
Το ακόλουθο παράδειγμα κώδικα χρησιμοποιεί σημειογραφία κουκκίδων για να ρωτήσει ένθετα δεδομένα:
Τώρα που ολοκληρώσαμε την τεχνική 1, ας προχωρήσουμε για να μάθουμε για την τεχνική 2.
Τεχνική 2: Χρησιμοποιήστε AWS Glue Dynamic Frames με συμπερασμένα και σταθερά σχήματα
Στην προηγούμενη ενότητα, καλύψαμε τη διαδικασία χειρισμού ενός μικρού αρχείου XML χρησιμοποιώντας έναν ανιχνευτή AWS Glue για τη δημιουργία ενός πίνακα, μια εργασία AWS Glue για τη μετατροπή του αρχείου σε μορφή Parquet και την Athena για πρόσβαση στα δεδομένα Parquet. Ωστόσο, ο ανιχνευτής αντιμετωπίζει περιορισμούς όταν πρόκειται για την επεξεργασία αρχείων XML που υπερβαίνουν Μέγεθος 1 MB. Σε αυτήν την ενότητα, εμβαθύνουμε στο θέμα της ομαδικής επεξεργασίας μεγαλύτερων αρχείων XML, που απαιτεί πρόσθετη ανάλυση για την εξαγωγή μεμονωμένων συμβάντων και τη διεξαγωγή ανάλυσης χρησιμοποιώντας το Athena.
Η προσέγγισή μας περιλαμβάνει την ανάγνωση των αρχείων XML μέσω της κόλλας AWS Dynamic Frames, χρησιμοποιώντας τόσο συναγόμενα όσο και σταθερά σχήματα. Στη συνέχεια εξάγουμε τα μεμονωμένα συμβάντα σε μορφή Parquet χρησιμοποιώντας το συσχετίζω μετασχηματισμού, δίνοντάς μας τη δυνατότητα να ρωτήσουμε και να τα αναλύσουμε απρόσκοπτα χρησιμοποιώντας το Athena.
Για να εφαρμόσετε αυτήν τη λύση, ολοκληρώστε τα ακόλουθα βήματα υψηλού επιπέδου:
- Δημιουργήστε ένα σημειωματάριο AWS Glue για να διαβάσετε και να αναλύσετε το αρχείο XML.
- Χρήση
DynamicFrames
μεInferSchema
για να διαβάσετε το αρχείο XML. - Χρησιμοποιήστε τη συνάρτηση συσχέτισης για να αφαιρέσετε τυχόν πίνακες.
- Μετατρέψτε τα δεδομένα σε μορφή Parquet.
- Ζητήστε τα δεδομένα του Παρκέ χρησιμοποιώντας το Athena.
- Επαναλάβετε τα προηγούμενα βήματα, αλλά αυτή τη φορά περάστε ένα σχήμα
DynamicFrames
αντί να χρησιμοποιήσετεInferSchema
.
Το αρχείο XML δεδομένων πληθυσμού ηλεκτρικών οχημάτων έχει α response
ετικέτα στο ριζικό της επίπεδο. Αυτή η ετικέτα περιέχει έναν πίνακα από row
ετικέτες, οι οποίες είναι ένθετες μέσα σε αυτό. Η ετικέτα σειράς είναι ένας πίνακας που περιέχει ένα σύνολο ετικετών άλλης σειράς, οι οποίες παρέχουν πληροφορίες για ένα όχημα, συμπεριλαμβανομένης της μάρκας, του μοντέλου και άλλων σχετικών λεπτομερειών. Το παρακάτω στιγμιότυπο οθόνης δείχνει ένα παράδειγμα.
Δημιουργήστε ένα σημειωματάριο κόλλας AWS
Για να δημιουργήσετε ένα σημειωματάριο AWS Glue, ολοκληρώστε τα παρακάτω βήματα:
- Ανοίξτε το AWS Glue Studio κονσόλα, επιλέξτε Θέσεις εργασίας στο παράθυρο πλοήγησης.
- Αγορά Jupyter Notebook Και επιλέξτε Δημιουργία.
- Εισαγάγετε ένα όνομα για την εργασία σας στο AWS Glue, όπως π.χ
blog_glue_xml_job_Jupyter
. - Επιλέξτε το ρόλο που δημιουργήσατε στα προαπαιτούμενα (
AWSGlueServiceNotebookRoleBlog
).
Το σημειωματάριο AWS Glue συνοδεύεται από ένα προϋπάρχον παράδειγμα που δείχνει πώς να υποβάλετε ερωτήματα σε μια βάση δεδομένων και να γράψετε την έξοδο στο Amazon S3.
- Προσαρμόστε το χρονικό όριο (σε λεπτά) όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης και εκτελέστε το κελί για να δημιουργήσετε τη διαδραστική περίοδο λειτουργίας AWS Glue.
Δημιουργήστε βασικές μεταβλητές
Αφού δημιουργήσετε τη διαδραστική περίοδο λειτουργίας, στο τέλος του σημειωματάριου, δημιουργήστε ένα νέο κελί με τις ακόλουθες μεταβλητές (δώστε το δικό σας όνομα κάδου):
Διαβάστε το αρχείο XML που συμπεραίνει το σχήμα
Εάν δεν περάσετε ένα σχήμα στο DynamicFrame
, θα συμπεράνει το σχήμα των αρχείων. Για να διαβάσετε τα δεδομένα χρησιμοποιώντας ένα δυναμικό πλαίσιο, μπορείτε να χρησιμοποιήσετε την ακόλουθη εντολή:
Εκτυπώστε το σχήμα DynamicFrame
Εκτυπώστε το σχήμα με τον ακόλουθο κώδικα:
Το σχήμα δείχνει μια ένθετη δομή με α row
πίνακας που περιέχει πολλά στοιχεία. Για να αφαιρέσετε αυτή τη δομή σε γραμμές, μπορείτε να χρησιμοποιήσετε την κόλλα AWS συσχετίζω μεταμόρφωση:
Μας ενδιαφέρουν μόνο οι πληροφορίες που περιέχονται στον πίνακα γραμμών και μπορούμε να προβάλουμε το σχήμα χρησιμοποιώντας την ακόλουθη εντολή:
Τα ονόματα των στηλών περιέχουν row.row
, που αντιστοιχούν στη δομή του πίνακα και στη στήλη του πίνακα στο σύνολο δεδομένων. Δεν μετονομάζουμε τις στήλες σε αυτήν την ανάρτηση. για οδηγίες σχετικά με αυτό, ανατρέξτε στο Αυτοματοποιήστε τη δυναμική αντιστοίχιση και τη μετονομασία των ονομάτων στηλών σε αρχεία δεδομένων χρησιμοποιώντας AWS Glue: Μέρος 1. Στη συνέχεια, μπορείτε να μετατρέψετε τα δεδομένα σε μορφή Parquet και να δημιουργήσετε τον πίνακα AWS Glue χρησιμοποιώντας την ακόλουθη εντολή:
Κόλλα AWS DynamicFrame
παρέχει δυνατότητες που μπορείτε να χρησιμοποιήσετε στο σενάριο ETL για να δημιουργήσετε και να ενημερώσετε ένα σχήμα στον Κατάλογο Δεδομένων. Χρησιμοποιούμε το updateBehavior
παράμετρο για να δημιουργήσετε τον πίνακα απευθείας στον Κατάλογο Δεδομένων. Με αυτήν την προσέγγιση, δεν χρειάζεται να εκτελέσουμε έναν ανιχνευτή AWS Glue μετά την ολοκλήρωση της εργασίας AWS Glue.
Διαβάστε το αρχείο XML ορίζοντας ένα σχήμα
Ένας εναλλακτικός τρόπος ανάγνωσης του αρχείου είναι ο προκαθορισμός ενός σχήματος. Για να το κάνετε αυτό, ολοκληρώστε τα παρακάτω βήματα:
- Εισαγάγετε τους τύπους δεδομένων AWS Glue:
- Δημιουργήστε ένα σχήμα για το αρχείο XML:
- Περάστε το σχήμα κατά την ανάγνωση του αρχείου XML:
- Αφαιρέστε το σύνολο δεδομένων όπως πριν:
- Μετατρέψτε το σύνολο δεδομένων σε Parquet και δημιουργήστε τον πίνακα AWS Glue:
Ρωτήστε τους πίνακες χρησιμοποιώντας το Athena
Τώρα που δημιουργήσαμε και τους δύο πίνακες, μπορούμε να ρωτήσουμε τους πίνακες χρησιμοποιώντας το Athena. Για παράδειγμα, μπορούμε να χρησιμοποιήσουμε το ακόλουθο ερώτημα:
Εκκαθάριση
Σε αυτήν την ανάρτηση, δημιουργήσαμε έναν ρόλο IAM, ένα σημειωματάριο AWS Glue Jupyter και δύο πίνακες στον κατάλογο δεδομένων AWS Glue. Ανεβάσαμε επίσης ορισμένα αρχεία σε έναν κάδο S3. Για να καθαρίσετε αυτά τα αντικείμενα, ολοκληρώστε τα παρακάτω βήματα:
- Στην κονσόλα IAM, διαγράψτε τον ρόλο που δημιουργήσατε.
- Στην κονσόλα AWS Glue Studio, διαγράψτε τον προσαρμοσμένο ταξινομητή, το πρόγραμμα ανίχνευσης, τις εργασίες ETL και το σημειωματάριο Jupyter.
- Μεταβείτε στον Κατάλογο δεδομένων κόλλας AWS και διαγράψτε τους πίνακες που δημιουργήσατε.
- Στην κονσόλα Amazon S3, μεταβείτε στον κάδο που δημιουργήσατε και διαγράψτε τους φακέλους με το όνομα
temp
,infer_schema
, ναno_infer_schema
.
Βασικές τακτικές
Στο AWS Glue, υπάρχει μια δυνατότητα που ονομάζεται InferSchema
σε κόλλα AWS DynamicFrames
. Καταλαβαίνει αυτόματα τη δομή ενός πλαισίου δεδομένων με βάση τα δεδομένα που περιέχει. Αντίθετα, ο ορισμός ενός σχήματος σημαίνει ρητά να δηλώνει πώς πρέπει να είναι η δομή του πλαισίου δεδομένων πριν από τη φόρτωση των δεδομένων.
Η XML, ως μορφή που βασίζεται σε κείμενο, δεν περιορίζει τους τύπους δεδομένων των στηλών της. Αυτό μπορεί να προκαλέσει προβλήματα με τη συνάρτηση InferSchema. Για παράδειγμα, στην πρώτη εκτέλεση, ένα αρχείο με τη στήλη Α με τιμή 2 οδηγεί σε ένα αρχείο Parquet με τη στήλη Α ως ακέραιο. Στη δεύτερη εκτέλεση, ένα νέο αρχείο έχει τη στήλη Α με την τιμή C, που οδηγεί σε ένα αρχείο Parquet με τη στήλη Α ως συμβολοσειρά. Τώρα υπάρχουν δύο αρχεία στο S3, το καθένα με μια στήλη Α διαφορετικών τύπων δεδομένων, που μπορεί να δημιουργήσουν προβλήματα κατάντη.
Το ίδιο συμβαίνει με πολύπλοκους τύπους δεδομένων όπως ένθετες δομές ή πίνακες. Για παράδειγμα, εάν ένα αρχείο έχει μια καταχώρηση ετικέτας που ονομάζεται transaction
, συμπεραίνεται ως δομή. Αλλά εάν ένα άλλο αρχείο έχει την ίδια ετικέτα, συμπεραίνεται ως πίνακας
Παρά αυτά τα προβλήματα τύπου δεδομένων, InferSchema
είναι χρήσιμο όταν δεν γνωρίζετε το σχήμα ή ο χειροκίνητος ορισμός ενός σχήματος δεν είναι πρακτικός. Ωστόσο, δεν είναι ιδανικό για μεγάλα ή συνεχώς μεταβαλλόμενα σύνολα δεδομένων. Ο καθορισμός ενός σχήματος είναι πιο ακριβής, ειδικά με πολύπλοκους τύπους δεδομένων, αλλά έχει τα δικά του προβλήματα, όπως η απαίτηση χειροκίνητης προσπάθειας και η ανελαστικότητα στις αλλαγές δεδομένων.
InferSchema
έχει περιορισμούς, όπως λανθασμένο συμπέρασμα τύπου δεδομένων και προβλήματα με τον χειρισμό μηδενικών τιμών. Ο ορισμός ενός σχήματος έχει επίσης περιορισμούς, όπως χειροκίνητη προσπάθεια και πιθανά σφάλματα.
Η επιλογή μεταξύ συμπερασμάτων και καθορισμού ενός σχήματος εξαρτάται από τις ανάγκες του έργου. Το InferSchema είναι ιδανικό για γρήγορη εξερεύνηση μικρών συνόλων δεδομένων, ενώ ο ορισμός ενός σχήματος είναι καλύτερος για μεγαλύτερα, πολύπλοκα σύνολα δεδομένων που απαιτούν ακρίβεια και συνέπεια. Εξετάστε τις ανταλλαγές και τους περιορισμούς κάθε μεθόδου για να επιλέξετε αυτό που ταιριάζει καλύτερα στο έργο σας.
Συμπέρασμα
Σε αυτήν την ανάρτηση, εξερευνήσαμε δύο τεχνικές για τη διαχείριση δεδομένων XML με χρήση κόλλας AWS, καθεμία προσαρμοσμένη για την αντιμετώπιση συγκεκριμένων αναγκών και προκλήσεων που μπορεί να αντιμετωπίσετε.
Η Τεχνική 1 προσφέρει μια φιλική προς το χρήστη διαδρομή για όσους προτιμούν μια γραφική διεπαφή. Μπορείτε να χρησιμοποιήσετε έναν ανιχνευτή AWS Glue και τον οπτικό επεξεργαστή για να ορίσετε εύκολα τη δομή του πίνακα για τα αρχεία XML σας. Αυτή η προσέγγιση απλοποιεί τη διαδικασία διαχείρισης δεδομένων και είναι ιδιαίτερα ελκυστική για όσους αναζητούν έναν απλό τρόπο χειρισμού των δεδομένων τους.
Ωστόσο, αναγνωρίζουμε ότι ο ανιχνευτής έχει τους περιορισμούς του, ειδικά όταν πρόκειται για αρχεία XML που έχουν σειρές μεγαλύτερες από 1 MB. Εδώ έρχεται να σώσει η τεχνική 2. Χρησιμοποιώντας την κόλλα AWS DynamicFrames
τόσο με συμπερασμένα όσο και με σταθερά σχήματα και χρησιμοποιώντας ένα σημειωματάριο AWS Glue, μπορείτε να χειριστείτε αποτελεσματικά αρχεία XML οποιουδήποτε μεγέθους. Αυτή η μέθοδος παρέχει μια ισχυρή λύση που εξασφαλίζει απρόσκοπτη επεξεργασία ακόμη και για αρχεία XML με σειρές που υπερβαίνουν τον περιορισμό του 1 MB.
Καθώς περιηγείστε στον κόσμο της διαχείρισης δεδομένων, η κατοχή αυτών των τεχνικών στην εργαλειοθήκη σας σάς δίνει τη δυνατότητα να λαμβάνετε τεκμηριωμένες αποφάσεις με βάση τις συγκεκριμένες απαιτήσεις του έργου σας. Είτε προτιμάτε την απλότητα της τεχνικής 1 είτε την επεκτασιμότητα της τεχνικής 2, το AWS Glue παρέχει την ευελιξία που χρειάζεστε για να χειριστείτε αποτελεσματικά τα δεδομένα XML.
Σχετικά με τους Συγγραφείς
Ναβνίτ Σούκλαλειτουργεί ως AWS Specialist Solution Architect με έμφαση στο Analytics. Διαθέτει έντονο ενθουσιασμό για να βοηθά τους πελάτες να ανακαλύψουν πολύτιμες γνώσεις από τα δεδομένα τους. Μέσω της τεχνογνωσίας του, κατασκευάζει καινοτόμες λύσεις που δίνουν τη δυνατότητα στις επιχειρήσεις να καταλήξουν σε ενημερωμένες, βασισμένες στα δεδομένα επιλογές. Συγκεκριμένα, ο Navnit Shukla είναι ο καταξιωμένος συγγραφέας του βιβλίου με τίτλο «Data Wrangling on AWS.
Πάτρικ Μύλλερ εργάζεται ως Senior Data Lab Architect στην AWS. Η κύρια ευθύνη του είναι να βοηθά τους πελάτες να μετατρέψουν τις ιδέες τους σε ένα προϊόν δεδομένων έτοιμο για παραγωγή. Στον ελεύθερο χρόνο του, ο Πάτρικ απολαμβάνει να παίζει ποδόσφαιρο, να βλέπει ταινίες και να ταξιδεύει.
Amogh Gaikwad είναι Ανώτερος Προγραμματιστής Λύσεων στο Amazon Web Services. Βοηθά τους παγκόσμιους πελάτες να δημιουργήσουν και να αναπτύξουν λύσεις AI/ML στο AWS. Η δουλειά του επικεντρώνεται κυρίως στην όραση υπολογιστών και στην επεξεργασία φυσικής γλώσσας και βοηθώντας τους πελάτες να βελτιστοποιήσουν τον φόρτο εργασίας τους AI/ML για βιωσιμότητα. Ο Amogh έχει λάβει το μεταπτυχιακό του στην Επιστήμη Υπολογιστών με ειδίκευση στη Μηχανική Μάθηση.
Σίλα Σονόνε είναι Senior Resident Architect στο AWS. Βοηθά τους πελάτες του AWS να κάνουν ενημερωμένες επιλογές και αντισταθμίσεις σχετικά με την επιτάχυνση του φόρτου εργασίας και των υλοποιήσεων δεδομένων, αναλυτικών στοιχείων και AI/ML. Στον ελεύθερο χρόνο της, της αρέσει να περνά χρόνο με την οικογένειά της - συνήθως σε γήπεδα τένις.
- SEO Powered Content & PR Distribution. Ενισχύστε σήμερα.
- PlatoData.Network Vertical Generative Ai. Ενδυναμώστε τον εαυτό σας. Πρόσβαση εδώ.
- PlatoAiStream. Web3 Intelligence. Ενισχύθηκε η γνώση. Πρόσβαση εδώ.
- PlatoESG. Ανθρακας, Cleantech, Ενέργεια, Περιβάλλον, Ηλιακός, Διαχείριση των αποβλήτων. Πρόσβαση εδώ.
- PlatoHealth. Ευφυΐα βιοτεχνολογίας και κλινικών δοκιμών. Πρόσβαση εδώ.
- πηγή: https://aws.amazon.com/blogs/big-data/process-and-analyze-highly-nested-and-large-xml-files-using-aws-glue-and-amazon-athena/
- :έχει
- :είναι
- :δεν
- :που
- $UP
- 1
- 10
- 100
- 12
- 121
- 13
- 14
- 1994
- 250
- 26
- 53
- 7
- 8
- 9
- a
- Σχετικα
- ΠΕΡΙΛΗΨΗ
- επιταχύνοντας
- πρόσβαση
- προσιτότητα
- επιτυγχάνεται
- ακρίβεια
- απέναντι
- Ενέργειες
- προσθέτω
- προστιθέμενη
- Πρόσθετος
- διεύθυνση
- Μετά το
- την ηλικία του
- AI / ML
- Όλα
- επιτρέπουν
- Επιτρέποντας
- επιτρέπει
- Επίσης
- εναλλακτική λύση
- Amazon
- Αμαζόν Αθηνά
- Amazon υπηρεσίες Web
- an
- ανάλυση
- analytics
- αναλύσει
- αναλύοντας
- και
- Άλλος
- κάθε
- Apache
- ελκυστική
- εφαρμογές
- Εφαρμογή
- πλησιάζω
- προσεγγίσεις
- αρχιτεκτονική
- ΕΙΝΑΙ
- Παράταξη
- AS
- βοηθήσει
- βοηθώντας
- At
- συγγραφέας
- αυτομάτως
- διαθέσιμος
- AWS
- Κόλλα AWS
- πίσω
- βασίζονται
- βασικός
- BE
- επειδή
- πριν
- αρχίζουν
- είναι
- ΚΑΛΎΤΕΡΟΣ
- Καλύτερα
- μεταξύ
- κενό
- βιβλίο
- και οι δύο
- χτίζω
- επιχειρήσεις
- αλλά
- by
- που ονομάζεται
- CAN
- κατάλογος
- Αιτία
- κύτταρο
- προκλήσεις
- αλλαγή
- Αλλαγές
- αλλαγή
- επιλογές
- Επιλέξτε
- Πόλη
- ταξινόμηση
- πελάτες
- κωδικός
- Στήλη
- Στήλες
- COM
- έρχεται
- Κοινός
- συνήθως
- πλήρης
- Ολοκληρώθηκε το
- συγκρότημα
- υπολογιστή
- Πληροφορική
- Computer Vision
- κατάσταση
- Διεξαγωγή
- συνδυασμό
- Εξετάστε
- πρόξενος
- συνεχώς
- περιορισμούς
- κατασκευάσει
- περιέχουν
- που περιέχονται
- Περιέχει
- αντίθεση
- έλεγχος
- μετατρέψετε
- μετατρέπονται
- αποδοτική
- οικονομικά αποδοτική λύση
- Κομητεία
- Δικαστήρια
- καλύπτονται
- έρπων
- δημιουργία
- δημιουργήθηκε
- δημιουργία
- κρίσιμος
- έθιμο
- πελάτης
- Πελάτες
- ημερομηνία
- ολοκλήρωση δεδομένων
- διαχείριση δεδομένων
- βασίζονται σε δεδομένα
- βάση δεδομένων
- σύνολα δεδομένων
- μοιρασιά
- αποφάσεις
- Προεπιλογή
- ορίζεται
- καθορίζοντας
- σκάβω
- καταδεικνύει
- εξαρτάται
- παρατάσσω
- σχεδιασμένα
- λεπτομερής
- καθέκαστα
- Εργολάβος
- διαφορετικές
- δύσκολος
- ψηφιακό
- ψηφιακή εποχή
- κατευθείαν
- ανακαλύπτοντας
- διακριτή
- do
- Όχι
- γίνεται
- Μην
- DOT
- κατά την διάρκεια
- δυναμικός
- κάθε
- ευκολία
- εύκολα
- εύκολος
- συντάκτης
- αποτέλεσμα
- αποτελεσματικά
- αποδοτικότητα
- αποτελεσματικός
- αποτελεσματικά
- προσπάθεια
- αβίαστα
- Ηλεκτρικό
- ηλεκτρικό όχημα
- στοιχεία
- απασχολώντας
- εξουσιοδοτώ
- εξουσιοδοτεί
- άδειο
- ενεργοποιήσετε
- ενεργοποίηση
- συνάντηση
- τέλος
- Κινητήρες
- ενίσχυση
- εξασφαλίζω
- εξασφαλίζει
- εισάγετε
- ενθουσιασμός
- καταχώριση
- λάθη
- ειδικά
- Αιθέρας (ΕΤΗ)
- Even
- εκδηλώσεις
- Κάθε
- παράδειγμα
- υπερβαίνω
- ανταλλαγή
- εξειδίκευση
- εξερεύνηση
- διερευνήσει
- Εξερευνήθηκε
- εκχύλισμα
- εξαγωγή
- οικογένεια
- Χαρακτηριστικό
- Χαρακτηριστικά
- Σχήματα
- Αρχεία
- Αρχεία
- χρηματοδότηση
- Όνομα
- καθορίζεται
- Ευελιξία
- Συγκέντρωση
- επικεντρώθηκε
- Εξής
- Για
- μορφή
- ΠΛΑΙΣΙΟ
- Δωρεάν
- Συχνότητα
- από
- λειτουργία
- Κέρδος
- γενικού σκοπού
- παράγουν
- Παγκόσμιο
- Go
- γκολ
- Κυβέρνηση
- εξαιρετική
- λαβή
- Χειρισμός
- συμβαίνει
- Αξιοποίηση
- Έχω
- που έχει
- he
- υγειονομική περίθαλψη
- Καρδιά
- βοήθεια
- βοήθεια
- βοηθά
- αυτήν
- υψηλού επιπέδου
- υψηλά
- του
- Πως
- Πώς να
- Ωστόσο
- HTML
- http
- HTTPS
- IAM
- ιδανικό
- ιδεών
- Ταυτότητα
- if
- απεικονίζει
- εφαρμογή
- υλοποιήσεις
- εκτελεστικών
- εισαγωγή
- βελτίωση
- βελτιωθεί
- in
- Συμπεριλαμβανομένου
- ατομικές
- άτομα
- βιομηχανίες
- πληροφορίες
- ενημερώνεται
- Υποδομή
- καινοτόμες
- μέσα
- ιδέες
- αντί
- οδηγίες
- ενσωματώσει
- ολοκλήρωση
- διαδραστικό
- ενδιαφερόμενος
- περιβάλλον λειτουργίας
- σε
- περιλαμβάνει
- θέματα
- IT
- ΤΟΥ
- Δουλειά
- Θέσεις εργασίας
- jpg
- json
- Jupyter Notebook
- Διατήρηση
- Ξέρω
- εργαστήριο
- Γλώσσα
- large
- μεγαλύτερος
- που οδηγεί
- ΜΑΘΑΊΝΩ
- μάθηση
- Επίπεδο
- Μου αρέσει
- LIMIT
- περιορισμός
- περιορισμούς
- γραμμή
- γραμμές
- φορτίο
- φόρτωση
- λογική
- κοιτάζοντας
- μηχανή
- μάθηση μηχανής
- Κυρίως
- κυρίως
- κάνω
- Κατασκευή
- διαχείριση
- διαχείριση
- Ταχύτητες
- χειροκίνητα
- πολοί
- χαρτης
- κύριοι
- Ενδέχεται..
- μέσα
- Μενού
- Μεταδεδομένα
- μέθοδος
- πρακτικά
- μοντέλο
- περισσότερο
- πιο αποτελεσματικό
- πλέον
- μετακινήσετε
- Κινηματογράφος
- πολλαπλούς
- όνομα
- Ονομάστηκε
- ονόματα
- Φυσικό
- Φυσική γλώσσα
- Επεξεργασία φυσικής γλώσσας
- Πλοηγηθείτε
- Πλοήγηση
- απαραίτητος
- Ανάγκη
- ανάγκες
- Νέα
- πρόσφατα
- επόμενη
- ιδιαίτερα
- σημειωματάριο
- τώρα
- αριθμός
- αντικειμένων
- of
- προσφορές
- on
- ONE
- αποκλειστικά
- λειτουργίες
- βέλτιστη
- Βελτιστοποίηση
- Βελτιστοποιεί
- Επιλογές
- or
- τάξη
- οργανώσεις
- Προέλευση
- ΑΛΛΑ
- δικός μας
- έξω
- παραγωγή
- επί
- Ξεπεράστε
- δική
- σελίδα
- παράθυρο
- παράμετρος
- παράμετροι
- μέρος
- ιδιαίτερα
- passieren
- μονοπάτι
- Πατρίκιος
- εκτελέσει
- επίδοση
- δικαιώματα
- επιλέξτε
- Πλάτων
- Πληροφορία δεδομένων Plato
- Πλάτωνα δεδομένα
- παιχνίδι
- πολιτική
- πληθυσμός
- έχουν
- Θέση
- δυναμικού
- ανάγκη
- προτιμώ
- προαπαιτούμενα
- Προβολή
- προηγούμενος
- προβλήματα
- διαδικασια μας
- επεξεργασία
- μεταποίηση
- Προϊόν
- σχέδιο
- έργα
- ιδιότητες
- παρέχουν
- παρέχει
- δημοσιεύει
- σκοπός
- Python
- ερωτήματα
- Γρήγορα
- μάλλον
- Διάβασε
- πρόθυμα
- Ανάγνωση
- λόγους
- έλαβε
- αναγνωρίζω
- παραπέμπω
- απαιτήσεις
- διάσωση
- πόρος
- απάντησης
- ευθύνη
- ΠΕΡΙΦΕΡΕΙΑ
- περιορίζω
- περιορισμός
- Αποτελέσματα
- εύρωστος
- Ρόλος
- ρίζα
- ΣΕΙΡΑ
- τρέξιμο
- ίδιο
- Αποθήκευση
- Scala
- Απεριόριστες δυνατότητες
- επεκτάσιμη
- Επιστήμη
- γραφή
- αδιάλειπτη
- άψογα
- Δεύτερος
- Τμήμα
- δείτε
- αρχαιότερος
- Υπηρεσίες
- Συνεδρίαση
- σειρά
- τον καθορισμό
- διάφοροι
- αυτή
- κέλυφος
- θα πρέπει να
- δείχνουν
- παρουσιάζεται
- Δείχνει
- παρόμοιες
- Απλούς
- απλότητα
- απλουστεύοντας
- ενιαίας
- Μέγεθος
- small
- So
- Ποδόσφαιρο
- λύση
- Λύσεις
- μερικοί
- Πηγή
- Πηγές
- Σπινθήρας
- ειδικός
- ειδικευμένη
- συγκεκριμένες
- ειδικά
- ταχύτητα
- Δαπάνες
- SQL
- πρότυπο
- ξεκινά
- Κατάσταση
- Δήλωση
- δηλώνοντας
- Βήμα
- Βήματα
- χώρος στο δίσκο
- αποθηκεύονται
- ειλικρινής
- εξορθολογισμό
- Σπάγγος
- ισχυρός
- δομή
- δομές
- στούντιο
- επιτυχία
- τέτοιος
- κατάλληλος
- υποστήριξη
- βέβαιος
- Βιωσιμότητα
- συστήματα
- τραπέζι
- TAG
- επειξειργασμένος από ραπτήν
- Πάρτε
- παίρνει
- εργασίες
- τεχνικές
- τένις
- από
- ότι
- Η
- οι πληροφορίες
- ο κόσμος
- τους
- Τους
- τότε
- Εκεί.
- Αυτοί
- αυτοί
- αυτό
- εκείνοι
- Μέσω
- ώρα
- Τίτλος
- με τίτλο
- προς την
- σημερινή
- εργαλειοθήκη
- κορυφή
- τοπικός
- Μεταμορφώστε
- Μεταμόρφωση
- Ταξίδια
- Στροφή
- φροντιστήριο
- δύο
- τύπος
- τύποι
- τελικός
- υπό
- Ενημέρωση
- ενημερώθηκε
- Φορτώθηκε
- us
- χρηστικότητα
- χρήση
- μεταχειρισμένος
- Χρήστες
- Διεπαφής χρήστη
- φιλική προς το χρήστη
- χρησιμοποιεί
- χρησιμοποιώντας
- συνήθως
- αξιοποιώντας
- Πολύτιμος
- αξία
- Αξίες
- όχημα
- εκδοχή
- μέσω
- Δες
- εμφανίσεις
- όραμα
- παρακολουθείτε
- Τρόπος..
- we
- ιστός
- διαδικτυακές υπηρεσίες
- Τι
- πότε
- ενώ
- αν
- Ποιό
- Ο ΟΠΟΊΟΣ
- WHY
- θα
- με
- εντός
- χωρίς
- Εργασία
- ροής εργασίας
- ροές εργασίας
- λειτουργεί
- κόσμος
- γράφω
- XML
- εσείς
- Σας
- zephyrnet