Εντολές HBase Shell με παραδείγματα
Μετά την επιτυχή εγκατάσταση του HBase πάνω από το Hadoop, λαμβάνουμε ένα διαδραστικό κέλυφος για να εκτελέσουμε διάφορες εντολές και να εκτελέσουμε πολλές λειτουργίες. Χρησιμοποιώντας αυτές τις εντολές, μπορούμε να εκτελέσουμε πολλαπλές λειτουργίες σε πίνακες δεδομένων που μπορούν να προσφέρουν καλύτερες αποδόσεις αποθήκευσης δεδομένων και ευέλικτη αλληλεπίδραση από τον πελάτη.
Μπορούμε να αλληλεπιδράσουμε με το HBase με δύο τρόπους,
- HBase διαδραστική λειτουργία κελύφους και
- Μέσω Java API
Στο HBase, η διαδραστική λειτουργία κελύφους χρησιμοποιείται για αλληλεπίδραση με το HBase για λειτουργίες πίνακα, διαχείριση πινάκων και μοντελοποίηση δεδομένων. Με τη χρήση Java Το μοντέλο API, μπορούμε να εκτελέσουμε όλους τους τύπους λειτουργιών πίνακα και δεδομένων στο HBase. Μπορούμε να αλληλεπιδράσουμε με το HBase χρησιμοποιώντας και τις δύο μεθόδους.
Η μόνη διαφορά μεταξύ αυτών των δύο είναι Java Το API χρησιμοποιεί κώδικα java για σύνδεση με το HBase και η λειτουργία κελύφους χρησιμοποιεί εντολές φλοιού για σύνδεση με το HBase.
Γρήγορη υπερκάλυψη του HBase πριν προχωρήσουμε-
- Χρήσεις HBase Hadoop αρχεία ως σύστημα αποθήκευσης για την αποθήκευση μεγάλων ποσοτήτων δεδομένων. Το Hbase αποτελείται από κύριους διακομιστές και διακομιστές περιοχών
- Τα δεδομένα που πρόκειται να αποθηκευτούν στο HBase θα έχουν τη μορφή περιοχών. Επιπλέον, αυτές οι περιοχές θα χωριστούν και θα αποθηκευτούν σε διακομιστές πολλαπλών περιοχών
- Αυτές οι εντολές φλοιού επιτρέπουν στον προγραμματιστή να ορίζει σχήματα πίνακα και λειτουργίες δεδομένων χρησιμοποιώντας πλήρη αλληλεπίδραση λειτουργίας φλοιού
- Όποια εντολή και αν χρησιμοποιήσουμε, θα αντικατοπτρίζεται στο μοντέλο δεδομένων HBase
- Χρησιμοποιούμε εντολές φλοιού HBase σε διερμηνείς σεναρίων λειτουργικού συστήματος όπως το κέλυφος Bash
- Το κέλυφος Bash είναι ο προεπιλεγμένος διερμηνέας εντολών για τα περισσότερα Linux και Unix λειτουργικές διανομές
- Οι προηγμένες εκδόσεις του HBase παρέχουν εντολές φλοιού αντικειμενοστρεφείς αναφορές σε στυλ jruby για πίνακες
- Οι μεταβλητές αναφοράς πίνακα μπορούν να χρησιμοποιηθούν για την εκτέλεση λειτουργιών δεδομένων σε λειτουργία κελύφους HBase
Για παραδείγματα,
- Σε αυτό το σεμινάριο, δημιουργήσαμε έναν πίνακα στον οποίο η 'εκπαίδευση' αντιπροσωπεύει το όνομα του πίνακα και αντιστοιχεί στο όνομα της στήλης "guru99".
- Σε ορισμένες εντολές το "guru99" αντιπροσωπεύει ένα όνομα πίνακα.
Γενικές εντολές
Στο Hbase, οι γενικές εντολές κατηγοριοποιούνται στις ακόλουθες εντολές
- Κατάσταση
- Εκδοχή
- Table_help (σάρωση, απόθεση, λήψη, τοποθέτηση, απενεργοποίηση, κ.λπ.)
- Ποιός είμαι
Για να εισέλθουμε στην εντολή κελύφους HBase, πρώτα απ 'όλα, πρέπει να εκτελέσουμε τον κώδικα όπως αναφέρεται παρακάτω
hbase Shell
Μόλις μπούμε στο κέλυφος HBase, μπορούμε να εκτελέσουμε όλες τις εντολές φλοιού που αναφέρονται παρακάτω. Με τη βοήθεια αυτών των εντολών, μπορούμε να εκτελέσουμε όλους τους τύπους λειτουργιών πίνακα στη λειτουργία κελύφους HBase.
Ας δούμε όλες αυτές τις εντολές και τη χρήση τους μία προς μία με ένα παράδειγμα.
Κατάσταση
Syntax:status
Αυτή η εντολή θα δώσει λεπτομέρειες σχετικά με την κατάσταση του συστήματος, όπως έναν αριθμό διακομιστών που υπάρχουν στο σύμπλεγμα, τον αριθμό ενεργών διακομιστών και τη μέση τιμή φόρτωσης. Μπορείτε επίσης να μεταβιβάσετε οποιεσδήποτε συγκεκριμένες παραμέτρους ανάλογα με τη λεπτομερή κατάσταση που θέλετε να μάθετε για το σύστημα. Οι παράμετροι μπορεί να είναι "σύνοψη", "απλή" ή "λεπτομερής", η προεπιλεγμένη παράμετρος που παρέχεται είναι "σύνοψη".
Παρακάτω δείξαμε πώς μπορείτε να μεταβιβάσετε διαφορετικές παραμέτρους στην εντολή status.
Αν παρατηρήσουμε το παρακάτω στιγμιότυπο οθόνης, θα έχουμε καλύτερη ιδέα.
hbase(main):001:0>status hbase(main):002:0>status 'simple' hbase(main):003:0>status 'summary' hbase(main):004:0> status 'detailed'
Όταν εκτελούμε αυτήν την κατάσταση εντολής, θα δώσει πληροφορίες σχετικά με τον αριθμό των παρόντων διακομιστή, τους νεκρούς διακομιστές και το μέσο φόρτο του διακομιστή, εδώ στο στιγμιότυπο οθόνης δείχνει τις πληροφορίες όπως- 1 ζωντανός διακομιστής, 1 νεκρός διακομιστής και 7.0000 μέσος όρος φόρτωσης.
Εκδοχή
Syntax: version
- Αυτή η εντολή θα εμφανίσει την τρέχουσα χρησιμοποιούμενη έκδοση HBase σε λειτουργία εντολών
- Εάν εκτελέσετε την εντολή έκδοσης, θα δώσει έξοδο όπως φαίνεται παραπάνω
Βοήθεια πίνακα
Syntax:table_help
Αυτή η εντολή καθοδηγεί
- Τι και πώς να χρησιμοποιήσετε εντολές που αναφέρονται σε πίνακα
- Θα παρέχει διαφορετικές χρήσεις εντολών κελύφους HBase και τις συντακτικές του
- Εδώ στο στιγμιότυπο οθόνης παραπάνω, δείχνει τη σύνταξη του "δημιουργώ" και "get_table" εντολή με τη χρήση του. Μπορούμε να χειριστούμε τον πίνακα μέσω αυτών των εντολών μόλις δημιουργηθεί ο πίνακας στο HBase.
- Θα δώσει εντολές χειρισμών πίνακα όπως put, get και όλες τις άλλες πληροφορίες εντολών.
whoami
Σύνταξη:
Syntax: Whoami
Αυτή η εντολή "whoami" χρησιμοποιείται για να επιστρέψει τις τρέχουσες πληροφορίες χρήστη HBase από το σύμπλεγμα HBase.
Θα παρέχει πληροφορίες όπως
- Ομάδες που υπάρχουν στο HBase
- Οι πληροφορίες χρήστη, για παράδειγμα σε αυτήν την περίπτωση "hduser" αντιπροσωπεύουν το όνομα χρήστη όπως φαίνεται στο στιγμιότυπο οθόνης
TTL (Time To Live) – Ιδιότητα
Στο HBase, οι οικογένειες στηλών μπορούν να ρυθμιστούν σε τιμές χρόνου σε δευτερόλεπτα χρησιμοποιώντας το TTL. Το HBase θα διαγράψει αυτόματα τις σειρές μόλις συμπληρωθεί ο χρόνος λήξης. Αυτό το χαρακτηριστικό ισχύει για όλες τις εκδόσεις μιας σειράς – ακόμη και την τρέχουσα έκδοση.
Ο χρόνος TTL που κωδικοποιείται στο HBase για τη σειρά καθορίζεται σε UTC. Αυτό το χαρακτηριστικό χρησιμοποιείται με εντολές διαχείρισης πίνακα.
Σημαντικές διαφορές μεταξύ του χειρισμού TTL και των TTL της οικογένειας στηλών παρατίθενται παρακάτω
- Τα TTL κελιών εκφράζονται σε μονάδες χιλιοστών του δευτερολέπτου αντί για δευτερόλεπτα.
- Τα TTL ενός κελιού δεν μπορούν να παρατείνουν την πραγματική διάρκεια ζωής ενός κελιού πέρα από μια ρύθμιση TTL σε επίπεδο Οικογένειας στήλης.
Εντολές διαχείρισης πινάκων
Αυτές οι εντολές θα επιτρέψουν στους προγραμματιστές να δημιουργήσουν πίνακες και σχήματα πινάκων με σειρές και οικογένειες στηλών.
Ακολουθούν εντολές διαχείρισης πίνακα
- Δημιουργία
- Λιστα
- Περιγράφω
- Απενεργοποίηση
- Απενεργοποίηση όλων
- Ενεργοποίηση
- Ενεργοποίηση όλων
- Πτώση
- Drop_all
- Εμφάνιση_φίλτρων
- Ηλικία
- Alter_status
Ας εξετάσουμε τη χρήση εντολών στο HBase με ένα παράδειγμα.
Δημιουργία
Syntax: create <tablename>, <columnfamilyname>
Παράδειγμα:-
hbase(main):001:0> create 'education' ,'guru99' 0 rows(s) in 0.312 seconds =>Hbase::Table – education
Το παραπάνω παράδειγμα εξηγεί πώς να δημιουργήσετε έναν πίνακα στο HBase με το καθορισμένο όνομα σύμφωνα με το λεξικό ή τις προδιαγραφές σύμφωνα με την οικογένεια στηλών. Εκτός από αυτό, μπορούμε επίσης να περάσουμε μερικά χαρακτηριστικά εμβέλειας πίνακα σε αυτό.
Για να ελέγξουμε εάν ο πίνακας 'εκπαίδευση' έχει δημιουργηθεί ή όχι, πρέπει να χρησιμοποιήσουμε το "λίστα" εντολή όπως αναφέρεται παρακάτω.
Λιστα
Syntax:list
- Η εντολή "List" θα εμφανίσει όλους τους πίνακες που υπάρχουν ή δημιουργούνται στο HBase
- Η έξοδος που εμφανίζεται στο παραπάνω στιγμιότυπο οθόνης εμφανίζει αυτήν τη στιγμή τους υπάρχοντες πίνακες στο HBase
- Εδώ σε αυτό το στιγμιότυπο οθόνης, δείχνει ότι υπάρχουν συνολικά 8 πίνακες στο HBase
- Μπορούμε να φιλτράρουμε τιμές εξόδου από πίνακες μεταβιβάζοντας προαιρετικές παραμέτρους κανονικής έκφρασης
Περιγράφω
Syntax:describe <table name>
hbase(main):010:0>describe 'education'
Αυτή η εντολή περιγράφει τον πίνακα με το όνομα.
- Θα δώσει περισσότερες πληροφορίες σχετικά με τις οικογένειες στηλών που υπάρχουν στον αναφερόμενο πίνακα
- Στην περίπτωσή μας, δίνει την περιγραφή σχετικά με τον πίνακα "εκπαίδευση".
- Θα παρέχει πληροφορίες σχετικά με το όνομα του πίνακα με τις οικογένειες στηλών, τα σχετικά φίλτρα, τις εκδόσεις και ορισμένες περισσότερες λεπτομέρειες.
απενεργοποίηση
Syntax: disable <tablename>
hbase(main):011:0>disable 'education'
- Αυτή η εντολή θα αρχίσει να απενεργοποιεί τον πίνακα με το όνομα
- Εάν ο πίνακας πρέπει να διαγραφεί ή να απορριφθεί, πρέπει πρώτα να απενεργοποιηθεί
Εδώ, στο παραπάνω στιγμιότυπο οθόνης απενεργοποιούμε την εκπαίδευση πίνακα
απενεργοποίηση όλων
Syntax: disable_all<"matching regex"
- Αυτή η εντολή θα απενεργοποιήσει όλους τους πίνακες που ταιριάζουν με το δεδομένο regex.
- Η υλοποίηση είναι ίδια με την εντολή διαγραφής (Εκτός της προσθήκης regex για αντιστοίχιση)
- Μόλις απενεργοποιηθεί ο πίνακας, ο χρήστης μπορεί να διαγράψει τον πίνακα από το HBase
- Πριν διαγράψετε ή απορρίψετε τον πίνακα, θα πρέπει πρώτα να απενεργοποιηθεί
Ενεργοποίηση
Syntax: enable <tablename>
hbase(main):012:0>enable 'education'
- Αυτή η εντολή θα αρχίσει να ενεργοποιεί τον πίνακα με το όνομα
- Όποιος πίνακας είναι απενεργοποιημένος, για να επαναφέρουμε την προηγούμενη κατάσταση χρησιμοποιούμε αυτήν την εντολή
- Εάν ένας πίνακας είναι απενεργοποιημένος στην πρώτη περίπτωση και δεν διαγραφεί ή πέσει, και εάν θέλουμε να χρησιμοποιήσουμε ξανά τον απενεργοποιημένο πίνακα, τότε πρέπει να τον ενεργοποιήσουμε χρησιμοποιώντας αυτήν την εντολή.
- Εδώ στο παραπάνω στιγμιότυπο οθόνης ενεργοποιούμε τον πίνακα "εκπαίδευση".
εμφάνιση_φίλτρων
Syntax: show_filters
Αυτή η εντολή εμφανίζει όλα τα φίλτρα που υπάρχουν στο HBase όπως ColumnPrefix Filter, TimestampsFilter, PageFilter, FamilyFilter κ.λπ.
πτώση
Syntax:drop <table name>
hbase(main):017:0>drop 'education'
Πρέπει να παρατηρήσουμε τα παρακάτω σημεία για την εντολή drop
- Για να διαγράψουμε τον πίνακα που υπάρχει στο HBase, πρέπει πρώτα να τον απενεργοποιήσουμε
- Για να απορρίψουμε τον πίνακα που υπάρχει στο HBase, πρώτα πρέπει να τον απενεργοποιήσουμε
- Έτσι, είτε ο πίνακας για απόρριψη είτε για διαγραφή πρώτα, ο πίνακας θα πρέπει να απενεργοποιηθεί χρησιμοποιώντας την εντολή απενεργοποίησης
- Εδώ στο παραπάνω στιγμιότυπο οθόνης ρίχνουμε τον πίνακα "εκπαίδευση".
- Πριν από την εκτέλεση αυτής της εντολής, είναι απαραίτητο να απενεργοποιήσετε τον πίνακα "εκπαίδευση".
drop_all
Syntax: drop_all<"regex">
- Αυτή η εντολή θα αφαιρέσει όλους τους πίνακες που ταιριάζουν με το δεδομένο regex
- Οι πίνακες πρέπει πρώτα να απενεργοποιηθούν πριν από την εκτέλεση αυτής της εντολής χρησιμοποιώντας το disable_all
- Οι πίνακες με εκφράσεις αντιστοίχισης regex πρόκειται να αποσυρθούν από το HBase
είναι ενεργοποιημένο
Syntax: is_enabled 'education'
Αυτή η εντολή θα επαληθεύσει εάν ο πίνακας με το όνομα είναι ενεργοποιημένος ή όχι. Συνήθως, υπάρχει μια μικρή σύγχυση μεταξύ της ενέργειας εντολής "enable" και "is_enabled", την οποία διαγράφουμε εδώ
- Ας υποθέσουμε ότι ένας πίνακας είναι απενεργοποιημένος, για να χρησιμοποιήσουμε αυτόν τον πίνακα πρέπει να τον ενεργοποιήσουμε χρησιμοποιώντας την εντολή enable
- Η εντολή is_enabled θα ελέγξει εάν ο πίνακας είναι ενεργοποιημένος ή όχι
μεταβάλλουν
Syntax: alter <tablename>, NAME=><column familyname>, VERSIONS=>5
Αυτή η εντολή αλλάζει το σχήμα οικογένειας στηλών. Για να καταλάβετε τι ακριβώς κάνει, το έχουμε εξηγήσει εδώ με ένα παράδειγμα.
Παραδείγματα:
Σε αυτά τα παραδείγματα, πρόκειται να εκτελέσουμε λειτουργίες αλλαγής εντολών σε πίνακες και στις στήλες τους. Θα εκτελέσουμε λειτουργίες όπως
- Αλλαγή ονομάτων μιας οικογένειας πολλαπλών στηλών
- Διαγραφή οικογενειακών ονομάτων στηλών από τον πίνακα
- Αρκετές άλλες λειτουργίες που χρησιμοποιούν χαρακτηριστικά scope με πίνακα
- Για να αλλάξετε ή να προσθέσετε την οικογένεια στηλών "guru99_1" στον πίνακα "education" από την τρέχουσα τιμή για να διατηρήσετε έως 5 ΕΚΔΟΣΕΙΣ κελιών,
- Το "education" είναι το όνομα του πίνακα που δημιουργήθηκε με το όνομα της στήλης "guru99" προηγουμένως
- Εδώ με τη βοήθεια μιας εντολής alter προσπαθούμε να αλλάξουμε το σχήμα οικογένειας στηλών σε guru99_1 από guru99
hbase> alter 'education', NAME='guru99_1', VERSIONS=>5
- Μπορείτε επίσης να χρησιμοποιήσετε την εντολή alter και σε πολλές οικογένειες στηλών. Για παράδειγμα, θα ορίσουμε δύο νέες στήλες στον υπάρχοντα πίνακα "εκπαίδευση".
hbase> alter 'edu', 'guru99_1', {NAME => 'guru99_2', IN_MEMORY => true}, {NAME => 'guru99_3', VERSIONS => 5}
- Μπορούμε να αλλάξουμε περισσότερα από ένα σχήματα στηλών τη φορά χρησιμοποιώντας αυτήν την εντολή
- Το guru99_2 και το guru99_3 όπως φαίνεται στο παραπάνω στιγμιότυπο οθόνης είναι τα δύο νέα ονόματα στηλών που έχουμε ορίσει για την εκπαίδευση του πίνακα
- Μπορούμε να δούμε τον τρόπο χρήσης αυτής της εντολής στο προηγούμενο στιγμιότυπο οθόνης
- Σε αυτό το βήμα, θα δούμε πώς να διαγράψετε την οικογένεια στηλών από τον πίνακα. Για να διαγράψετε την οικογένεια στηλών 'f1' στον πίνακα 'εκπαίδευση'.
Χρησιμοποιήστε μία από αυτές τις εντολές παρακάτω,
hbase> alter 'education', NAME => 'f1', METHOD => 'delete'
hbase> alter 'education', 'delete' =>' guru99_1'
- Σε αυτήν την εντολή, προσπαθούμε να διαγράψουμε το όνομα χώρου στήλης guru99_1 που δημιουργήσαμε προηγουμένως στο πρώτο βήμα
- Όπως φαίνεται στα παρακάτω στιγμιότυπα οθόνης, δείχνει δύο βήματα – πώς να αλλάξετε το χαρακτηριστικό εμβέλειας πίνακα και πώς να αφαιρέσετε το χαρακτηριστικό εμβέλειας πίνακα.
Syntax: alter <'tablename'>, MAX_FILESIZE=>'132545224'
Βήμα 1) Μπορείτε να αλλάξετε χαρακτηριστικά εμβέλειας πίνακα όπως MAX_FILESIZE, READONLY, MEMSTORE_FLUSHSIZE, DEFERRED_LOG_FLUSH, κ.λπ. Αυτά μπορούν να τεθούν στο τέλος. Για παράδειγμα, για να αλλάξετε το μέγιστο μέγεθος μιας περιοχής σε 128 MB ή οποιαδήποτε άλλη τιμή μνήμης χρησιμοποιούμε αυτήν την εντολή.
Χρήση:
- Μπορούμε να χρησιμοποιήσουμε MAX_FILESIZE με τον πίνακα ως χαρακτηριστικό scope όπως παραπάνω
- Ο αριθμός που αντιπροσωπεύεται σε MAX_FILESIZE είναι σε όρους μνήμης σε byte
NΟΤΕ: MAX_FILESIZE Το εύρος του πίνακα χαρακτηριστικών θα καθοριστεί από ορισμένα χαρακτηριστικά που υπάρχουν στη HBase. Τα MAX_FILESIZE εμπίπτουν επίσης στα χαρακτηριστικά εμβέλειας πίνακα.
Βήμα 2) Μπορείτε επίσης να αφαιρέσετε ένα χαρακτηριστικό εμβέλειας πίνακα χρησιμοποιώντας τη μέθοδο table_att_unset. Αν δείτε την εντολή
alter 'education', METHOD => 'table_att_unset', NAME => 'MAX_FILESIZE'
- Το παραπάνω στιγμιότυπο οθόνης δείχνει τροποποιημένο όνομα πίνακα με χαρακτηριστικά εμβέλειας
- Η μέθοδος table_att_unset χρησιμοποιείται για την κατάργηση του ορισμού χαρακτηριστικών που υπάρχουν στον πίνακα
- Η δεύτερη περίπτωση που καταργούμε το χαρακτηριστικό MAX_FILESIZE
- Μετά την εκτέλεση της εντολής, απλώς θα καταργήσει τον καθορισμό του χαρακτηριστικού MAX_FILESIZE από τον πίνακα "education".
alter_status
Syntax: alter_status 'education'
- Μέσω αυτής της εντολής, μπορείτε να λάβετε την κατάσταση της εντολής alter
- Το οποίο υποδηλώνει τον αριθμό των περιοχών του πίνακα που έχουν λάβει το ενημερωμένο όνομα πίνακα πρόσβασης σχήματος
- Εδώ στο παραπάνω στιγμιότυπο οθόνης δείχνει το 1/1 των περιοχών ενημερωμένο. Σημαίνει ότι έχει ενημερώσει μία περιοχή. Μετά από αυτό, εάν είναι επιτυχής, θα εμφανιστεί το σχόλιο ολοκληρωμένο.
Εντολές χειρισμού δεδομένων
Αυτές οι εντολές θα λειτουργούν στον πίνακα που σχετίζεται με χειρισμούς δεδομένων, όπως η τοποθέτηση δεδομένων σε έναν πίνακα, η ανάκτηση δεδομένων από έναν πίνακα και η διαγραφή σχήματος κ.λπ.
Οι εντολές που περιλαμβάνονται σε αυτές είναι
- Κόμης
- Βάζω
- ΕΠΙΚΟΙΝΩΝΗΣΤΕ
- Διαγραφή
- Διαγραφή όλων
- Κολοβός
- σάρωση
Ας δούμε τη χρήση αυτών των εντολών με ένα παράδειγμα.
Κόμης
Syntax: count <'tablename'>, CACHE =>1000
- Η εντολή θα ανακτήσει το πλήθος ενός αριθμού σειρών σε έναν πίνακα. Η τιμή που επιστρέφεται από αυτό είναι ο αριθμός των σειρών.
- Ο τρέχων αριθμός εμφανίζεται ανά 1000 σειρές από προεπιλογή.
- Το διάστημα μέτρησης μπορεί να καθοριστεί προαιρετικά.
- Το προεπιλεγμένο μέγεθος της κρυφής μνήμης είναι 10 σειρές.
- Η εντολή Count θα λειτουργήσει γρήγορα όταν διαμορφωθεί με τη δεξιά προσωρινή μνήμη.
Παράδειγμα:
hbase> count 'guru99', CACHE=>1000
Αυτός ο αριθμός παραδειγμάτων ανακτά 1000 σειρές κάθε φορά από τον πίνακα "Guru99".
Μπορούμε να κάνουμε cache σε κάποια χαμηλότερη τιμή εάν ο πίνακας αποτελείται από περισσότερες σειρές.
Αλλά από προεπιλογή θα φέρει μία σειρά τη φορά.
hbase>count 'guru99', INTERVAL => 100000 hbase> count 'guru99', INTERVAL =>10, CACHE=> 1000
Αν υποθέσουμε ότι ο πίνακας "Guru99" έχει κάποια αναφορά πίνακα όπως π.χ.
Μπορούμε να εκτελέσουμε την εντολή count στην αναφορά πίνακα επίσης όπως παρακάτω
hbase>g.count INTERVAL=>100000 hbase>g.count INTERVAL=>10, CACHE=>1000
Βάζω
Syntax: put <'tablename'>,<'rowname'>,<'columnvalue'>,<'value'>
Αυτή η εντολή χρησιμοποιείται για τα ακόλουθα πράγματα
- Θα βάλει μια «τιμή» κελιού στον καθορισμένο ή καθορισμένο πίνακα ή γραμμή ή στήλη.
- Προαιρετικά θα συντονίζει τη χρονική σήμανση.
Παράδειγμα:
- Εδώ τοποθετούμε τιμές στον πίνακα "guru99" κάτω από τη σειρά r1 και τη στήλη c1
hbase> put 'guru99', 'r1', 'c1', 'value', 10
- Έχουμε τοποθετήσει τρεις τιμές, 10,15, 30 και 99 στον πίνακα "guruXNUMX" όπως φαίνεται στο στιγμιότυπο οθόνης παρακάτω
- Ας υποθέσουμε ότι ο πίνακας "Guru99" έχει κάποια αναφορά πίνακα όπως ας πούμε g. Μπορούμε επίσης να εκτελέσουμε την εντολή στον πίνακα αναφοράς επίσης όπως
hbase> g.put 'guru99', 'r1', 'c1', 'value', 10
- Η έξοδος θα είναι όπως φαίνεται στο παραπάνω στιγμιότυπο οθόνης αφού τοποθετηθούν οι τιμές στο "guru99".
Για να ελέγξουμε εάν η τιμή εισόδου έχει εισαχθεί σωστά στον πίνακα, χρησιμοποιούμε την εντολή «σάρωση». Στο παρακάτω στιγμιότυπο οθόνης, μπορούμε να δούμε ότι οι τιμές έχουν εισαχθεί σωστά
Απόσπασμα κώδικα: Για εξάσκηση
create 'guru99', {NAME=>'Edu', VERSIONS=>213423443} put 'guru99', 'r1', 'Edu:c1', 'value', 10 put 'guru99', 'r1', 'Edu:c1', 'value', 15 put 'guru99', 'r1', 'Edu:c1', 'value', 30
Από το απόσπασμα κώδικα, κάνουμε αυτά τα πράγματα
- Εδώ δημιουργούμε έναν πίνακα με το όνομα 'guru99' με το όνομα της στήλης ως "Edu".
- Χρησιμοποιώντας την εντολή "put", τοποθετούμε τιμές στο όνομα σειράς r1 στη στήλη "Edu" στον πίνακα "guru99".
ΕΠΙΚΟΙΝΩΝΗΣΤΕ
Syntax: get <'tablename'>, <'rowname'>, {< Additional parameters>}
Εδώ περιλαμβάνουν TIMERANGE, TIMESTAMP, VERSIONS και FILTERS.
Χρησιμοποιώντας αυτήν την εντολή, θα λάβετε μια σειρά ή περιεχόμενα κελιού που υπάρχουν στον πίνακα. Επιπλέον, μπορείτε επίσης να προσθέσετε πρόσθετες παραμέτρους σε αυτό, όπως TIMESTAMP, TIMERANGE, VERSIONS, FILTERS κ.λπ. για να λάβετε μια συγκεκριμένη σειρά ή περιεχόμενο κελιού.
Παραδείγματα: -
hbase> get 'guru99', 'r1', {COLUMN => 'c1'}
Για τον πίνακα "guru99" οι τιμές της σειράς r1 και της στήλης c1 θα εμφανιστούν χρησιμοποιώντας αυτήν την εντολή όπως φαίνεται στο παραπάνω στιγμιότυπο οθόνης
hbase> get 'guru99', 'r1'
Για τον πίνακα "guru99" οι τιμές της σειράς r1 θα εμφανιστούν χρησιμοποιώντας αυτήν την εντολή
hbase> get 'guru99', 'r1', {TIMERANGE => [ts1, ts2]}
Για τον πίνακα "guru99" οι τιμές της σειράς 1 στο χρονικό εύρος ts1 και ts2 θα εμφανιστούν χρησιμοποιώντας αυτήν την εντολή
hbase> get 'guru99', 'r1', {COLUMN => ['c1', 'c2', 'c3']}
Για τον πίνακα "guru99" της σειράς r1 και των οικογενειών στηλών οι τιμές c1, c2, c3 θα εμφανιστούν χρησιμοποιώντας αυτήν την εντολή
Διαγραφή
Syntax:delete <'tablename'>,<'row name'>,<'column name'>
- Αυτή η εντολή θα διαγράψει την τιμή του κελιού στον καθορισμένο πίνακα γραμμής ή στήλης.
- Η διαγραφή πρέπει και πρέπει να ταιριάζει ακριβώς με τις συντεταγμένες των διαγραμμένων κελιών.
- Κατά τη σάρωση, η διαγραφή κελιού καταστέλλει παλαιότερες εκδόσεις τιμών.
Παράδειγμα:
hbase(main):)020:0> delete 'guru99', 'r1', 'c1''.
- Η παραπάνω εκτέλεση θα διαγράψει τη σειρά r1 από την οικογένεια στήλης c1 στον πίνακα "guru99".
- Ας υποθέσουμε ότι ο πίνακας "guru99" έχει κάποια αναφορά πίνακα όπως ας πούμε g.
- Μπορούμε να εκτελέσουμε την εντολή στον πίνακα αναφοράς επίσης όπως hbase> g.διαγράψτε τα 'guru99', 'r1', 'c1'.
διαγραφή όλων
Syntax: deleteall <'tablename'>, <'rowname'>
- Αυτή η εντολή θα διαγράψει όλα τα κελιά σε μια δεδομένη σειρά.
- Μπορούμε να ορίσουμε προαιρετικά ονόματα στηλών και χρονική σήμανση στη σύνταξη.
Παράδειγμα:-
hbase>deleteall 'guru99', 'r1', 'c1'
Αυτό θα διαγράψει όλες τις σειρές και τις στήλες που υπάρχουν στον πίνακα. Προαιρετικά μπορούμε να αναφέρουμε ονόματα στηλών σε αυτό.
Κολοβός
Syntax: truncate <tablename>
Μετά την περικοπή ενός πίνακα hbase, το σχήμα θα παρουσιάζει αλλά όχι τις εγγραφές. Αυτή η εντολή εκτελεί 3 λειτουργίες. αυτά παρατίθενται παρακάτω
- Απενεργοποιεί τον πίνακα εάν εμφανίζεται ήδη
- Πέφτει πίνακας εάν υπάρχει ήδη
- Δημιουργεί ξανά τον αναφερόμενο πίνακα
σάρωση
Syntax: scan <'tablename'>, {Optional parameters}
Αυτή η εντολή σαρώνει ολόκληρο τον πίνακα και εμφανίζει τα περιεχόμενα του πίνακα.
- Μπορούμε να περάσουμε πολλές προαιρετικές προδιαγραφές σε αυτήν την εντολή σάρωσης για να λάβουμε περισσότερες πληροφορίες σχετικά με τους πίνακες που υπάρχουν στο σύστημα.
- Οι προδιαγραφές του σαρωτή μπορεί να περιλαμβάνουν ένα ή περισσότερα από τα ακόλουθα χαρακτηριστικά.
- Αυτά είναι TIMERANGE, FILTER, TIMESTAMP, LIMIT, MAXLENGTH, COLUMNS, CACHE, STARTROW και STOPROW.
scan 'guru99'
Η έξοδος όπως παρακάτω φαίνεται στο στιγμιότυπο οθόνης
Στο παραπάνω στιγμιότυπο οθόνης
- Εμφανίζει πίνακα "guru99" με όνομα και τιμές στήλης
- Αποτελείται από τρεις τιμές σειράς r1, r2, r3 για την τιμή μιας στήλης c1
- Εμφανίζει τις τιμές που σχετίζονται με τις σειρές
Παραδείγματα: -
Οι διαφορετικές χρήσεις της εντολής σάρωσης
εντολή | Χρήση |
---|---|
σάρωση '.META.', {COLUMNS => 'info:regioninfo'} | Εμφανίζει όλες τις πληροφορίες μεταδεδομένων που σχετίζονται με στήλες που υπάρχουν στους πίνακες στο HBase |
σάρωση 'guru99', {COLUMNS => ['c1', 'c2'], LIMIT => 10, STARTROW => 'xyz'} | Εμφανίζει τα περιεχόμενα του πίνακα guru99 με τις οικογένειες στηλών c1 και c2 περιορίζοντας τις τιμές στο 10 |
σάρωση 'guru99', {COLUMNS => 'c1', TIMERANGE => [1303668804, 1303668904]} | Εμφανίζει τα περιεχόμενα του guru99 με το όνομα της στήλης c1 με τις τιμές που υπάρχουν μεταξύ της αναφερόμενης τιμής χαρακτηριστικού χρονικού εύρους |
σάρωση 'guru99', {RAW => true, VERSIONS =>10} | Σε αυτήν την εντολή RAW=> true παρέχει προηγμένη δυνατότητα όπως η εμφάνιση όλων των τιμών κελιών που υπάρχουν στον πίνακα guru99 |
Παράδειγμα κώδικα:
Πρώτα δημιουργήστε πίνακα και τοποθετήστε τις τιμές στον πίνακα
create 'guru99', {NAME=>'e', VERSIONS=>2147483647} put 'guru99', 'r1', 'e:c1', 'value', 10 put 'guru99', 'r1', 'e:c1', 'value', 12 put 'guru99', 'r1', 'e:c1', 'value', 14 delete 'guru99', 'r1', 'e:c1', 11
Είσοδος στιγμιότυπου οθόνης:
Αν εκτελέσουμε εντολή σάρωσης
Query: scan 'guru99', {RAW=>true, VERSIONS=>1000}
Θα εμφανίσει την έξοδο που φαίνεται παρακάτω.
Στιγμιότυπο οθόνης εξόδου:
Η έξοδος που φαίνεται στο παραπάνω στιγμιότυπο οθόνης δίνει τις ακόλουθες πληροφορίες
- Σάρωση πίνακα guru99 με χαρακτηριστικά RAW=>true, VERSIONS=>1000
- Εμφάνιση σειρών με οικογένειες και τιμές στηλών
- Στην τρίτη σειρά, οι τιμές που εμφανίζονται δείχνουν τη διαγραμμένη τιμή που υπάρχει στη στήλη
- Η έξοδος που εμφανίζεται είναι τυχαία. δεν μπορεί να είναι ίδια σειρά με τις τιμές που εισαγάγαμε στον πίνακα
Cluster Εντολές αναπαραγωγής
- Αυτές οι εντολές λειτουργούν στη λειτουργία ρύθμισης συμπλέγματος του HBase.
- Για την προσθήκη και την αφαίρεση ομότιμων στο σύμπλεγμα και για την έναρξη και τη διακοπή της αναπαραγωγής, αυτές οι εντολές χρησιμοποιούνται γενικά.
εντολή | Λειτουργικότητα |
---|---|
add_peer | Προσθήκη ομότιμων στο σύμπλεγμα για αναπαραγωγή
hbase> add_peer '3', zk1,zk2,zk3:2182:/hbase-prod |
remove_peer | Διακόπτει την καθορισμένη ροή αναπαραγωγής.
Διαγράφει όλες τις πληροφορίες μεταδεδομένων για τον ομότιμο hbase> remove_peer '1' |
start_replication | Επανεκκινεί όλες τις δυνατότητες αναπαραγωγής
hbase> start_replication |
stop_replication | Διακόπτει όλες τις δυνατότητες αναπαραγωγής
hbase>stop_replication |
Περίληψη
Οι εντολές του κελύφους HBase και οι γενικές εντολές παρέχουν πλήρεις πληροφορίες σχετικά με διαφορετικούς τύπους χειρισμού δεδομένων, διαχείρισης πινάκων και εντολών αναπαραγωγής συμπλέγματος. Μπορούμε να εκτελέσουμε διάφορες λειτουργίες χρησιμοποιώντας αυτές τις εντολές σε πίνακες που υπάρχουν στο HBase.