Εντολές HBase Shell με παραδείγματα

Πίνακας περιεχομένων:

Anonim

Μετά την επιτυχή εγκατάσταση του HBase πάνω από το Hadoop, έχουμε ένα διαδραστικό κέλυφος για την εκτέλεση διαφόρων εντολών και την εκτέλεση πολλών λειτουργιών. Χρησιμοποιώντας αυτές τις εντολές, μπορούμε να εκτελέσουμε πολλαπλές λειτουργίες σε πίνακες δεδομένων που μπορούν να προσφέρουν καλύτερες αποδόσεις αποθήκευσης δεδομένων και ευέλικτη αλληλεπίδραση από τον πελάτη.

Μπορούμε να αλληλεπιδράσουμε με το HBase με δύο τρόπους,

  • Διαδραστική λειτουργία κελύφους HBase και
  • Μέσω Java API

Στο HBase, η λειτουργία διαδραστικού κελύφους χρησιμοποιείται για την αλληλεπίδραση με το HBase για λειτουργίες πίνακα, διαχείριση πίνακα και μοντελοποίηση δεδομένων. Χρησιμοποιώντας το μοντέλο Java API, μπορούμε να εκτελέσουμε όλους τους τύπους πινάκων και λειτουργιών δεδομένων στο HBase. Μπορούμε να αλληλεπιδράσουμε με την HBase χρησιμοποιώντας αυτές τις δύο μεθόδους.

Η μόνη διαφορά μεταξύ αυτών των δύο είναι το Java API να χρησιμοποιεί κώδικα java για σύνδεση με το HBase και το shell mode χρησιμοποιούν εντολές κελύφους για σύνδεση με το HBase.

Γρήγορη υπέρβαση του HBase προτού προχωρήσουμε-

  • Το HBase χρησιμοποιεί αρχεία Hadoop ως σύστημα αποθήκευσης για την αποθήκευση μεγάλου όγκου δεδομένων. Το Hbase αποτελείται από Master Servers και Regions Servers
  • Τα δεδομένα που πρόκειται να αποθηκευτούν στο HBase θα έχουν τη μορφή περιοχών. Επιπλέον, αυτές οι περιοχές θα χωριστούν και θα αποθηκευτούν σε διακομιστές πολλαπλών περιοχών
  • Αυτή η εντολή κελύφους επιτρέπει στον προγραμματιστή να καθορίσει σχήματα πίνακα και λειτουργίες δεδομένων χρησιμοποιώντας πλήρη αλληλεπίδραση τρόπου κελύφους
  • Όποια εντολή χρησιμοποιούμε, θα αντικατοπτρίζεται στο μοντέλο δεδομένων HBase
  • Χρησιμοποιούμε εντολές κελύφους HBase σε διερμηνείς σεναρίων λειτουργικού συστήματος όπως το κέλυφος Bash
  • Το Bash shell είναι ο προεπιλεγμένος διερμηνέας εντολών για τις περισσότερες από τις λειτουργικές διανομές Linux και Unix
  • Οι προηγμένες εκδόσεις HBase παρέχουν εντολές κελύφους αντικειμενοστρεφείς αναφορές για πίνακες
  • Οι μεταβλητές αναφοράς πίνακα μπορούν να χρησιμοποιηθούν για την εκτέλεση λειτουργιών δεδομένων σε λειτουργία κελύφους HBase

Για παραδείγματα ,

  • Σε αυτό το σεμινάριο, δημιουργήσαμε έναν πίνακα στον οποίο η «εκπαίδευση» αντιπροσωπεύει το όνομα του πίνακα και αντιστοιχεί στο όνομα της στήλης "guru99".
  • Σε ορισμένες εντολές "γκουρού99", το ίδιο αντιπροσωπεύει ένα όνομα πίνακα.

Σε αυτό το σεμινάριο- θα μάθετε,

  • Γενικές εντολές
  • Εντολές διαχείρισης πινάκων
  • Εντολές χειρισμού δεδομένων
  • Εντολές αναπαραγωγής συμπλέγματος

Γενικές εντολές

Στο Hbase, οι γενικές εντολές κατηγοριοποιούνται σε ακόλουθες εντολές

  • Κατάσταση
  • Εκδοχή
  • Βοήθεια Table (σάρωση, πτώση, λήψη, τοποθέτηση, απενεργοποίηση κ.λπ.)
  • Ποιός είμαι

Για να μπείτε στην εντολή HBase shell, πρώτα απ 'όλα, πρέπει να εκτελέσουμε τον κώδικα όπως αναφέρεται παρακάτω

hbase Shell

Μόλις φτάσουμε στο κέλυφος HBase, μπορούμε να εκτελέσουμε όλες τις εντολές κελύφους που αναφέρονται παρακάτω. Με τη βοήθεια αυτών των εντολών, μπορούμε να εκτελέσουμε όλους τους τύπους πινάκων σε λειτουργία κελύφους HBase.

Ας εξετάσουμε όλες αυτές τις εντολές και τη χρήση τους μία προς μία με ένα παράδειγμα.

Κατάσταση

Syntax:status

Αυτή η εντολή θα δώσει λεπτομέρειες σχετικά με την κατάσταση του συστήματος, όπως ένας αριθμός διακομιστών που υπάρχουν στο σύμπλεγμα, ο ενεργός αριθμός διακομιστών και η μέση τιμή φόρτωσης. Μπορείτε επίσης να περάσετε συγκεκριμένες παραμέτρους ανάλογα με την αναλυτική κατάσταση που θέλετε να γνωρίζετε για το σύστημα. Οι παράμετροι μπορεί να είναι «περίληψη», «απλό» ή «λεπτομερές» , η προεπιλεγμένη παράμετρος που παρέχεται είναι «περίληψη».

Παρακάτω έχουμε δείξει πώς μπορείτε να μεταβιβάσετε διαφορετικές παραμέτρους στην εντολή κατάστασης.

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

hbase(main):001:0>statushbase(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 και τις σύνταξές της
  • Εδώ στην οθόνη που φαίνεται παραπάνω, δείχνει τη σύνταξη της εντολής " create" και " get_table" με τη χρήση της. Μπορούμε να χειριστούμε τον πίνακα μέσω αυτών των εντολών μόλις δημιουργηθεί ο πίνακας στο HBase.
  • Θα δώσει εντολές χειρισμού πίνακα όπως put, get και όλες τις άλλες πληροφορίες εντολών.

ποιός είμαι

Σύνταξη:

Syntax: Whoami

Αυτή η εντολή "whoami" χρησιμοποιείται για να επιστρέψει τις τρέχουσες πληροφορίες χρήστη HBase από το σύμπλεγμα HBase.

Θα παρέχει πληροφορίες όπως

  • Ομάδες που υπάρχουν στο HBase
  • Οι πληροφορίες χρήστη, για παράδειγμα, σε αυτή την περίπτωση, το "hduser" αντιπροσωπεύουν το όνομα χρήστη όπως φαίνεται στο στιγμιότυπο οθόνης

TTL (Time To Live) - Χαρακτηριστικό

Στο HBase, οι οικογένειες στηλών μπορούν να ρυθμιστούν σε τιμές χρόνου σε δευτερόλεπτα χρησιμοποιώντας TTL. Το HBase θα διαγράψει αυτόματα σειρές μόλις συμπληρωθεί ο χρόνος λήξης. Αυτό το χαρακτηριστικό ισχύει για όλες τις εκδόσεις μιας σειράς - ακόμη και για την τρέχουσα έκδοση.

Ο χρόνος TTL που κωδικοποιείται στη βάση HB για τη σειρά καθορίζεται σε UTC. Αυτό το χαρακτηριστικό χρησιμοποιείται με εντολές διαχείρισης πίνακα.

Παρακάτω αναφέρονται σημαντικές διαφορές μεταξύ χειρισμού TTL και TTL οικογένειας στηλών

  • Τα κύτταρα TTL εκφράζονται σε μονάδες χιλιοστών του δευτερολέπτου αντί σε δευτερόλεπτα.
  • Τα κελιά TTL δεν μπορούν να επεκτείνουν την πραγματική διάρκεια ζωής ενός κελιού πέρα ​​από τη ρύθμιση TTL επιπέδου οικογένειας στηλών.

Εντολές διαχείρισης πινάκων

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

Ακολουθούν οι εντολές διαχείρισης πίνακα

  • Δημιουργώ
  • Λίστα
  • Περιγράφω
  • Καθιστώ ανίκανο
  • Απενεργοποίηση όλων
  • επιτρέπω
  • Ενεργοποίηση όλων
  • Πτώση
  • Drop_all
  • Εμφάνιση_ φίλτρων
  • Αλλάζω
  • Alter_status

Ας εξετάσουμε διάφορες χρήσεις εντολών στο HBase με ένα παράδειγμα.

Δημιουργώ

Syntax: create 
, 

Παράδειγμα:-

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 

hbase(main):010:0>describe 'education'

Αυτή η εντολή περιγράφει τον πίνακα με το όνομα.

  • Θα δώσει περισσότερες πληροφορίες σχετικά με τις οικογένειες στηλών που υπάρχουν στον παραπάνω πίνακα
  • Στην περίπτωσή μας, δίνει την περιγραφή για τον πίνακα «εκπαίδευση».
  • Θα δώσει πληροφορίες σχετικά με το όνομα του πίνακα με τις οικογένειες στηλών, τα σχετικά φίλτρα, τις εκδόσεις και μερικές ακόμη λεπτομέρειες.

καθιστώ ανίκανο

Syntax: disable 

hbase(main):011:0>disable 'education'
  • Αυτή η εντολή θα αρχίσει να απενεργοποιεί τον πίνακα με το όνομα
  • Εάν ο πίνακας πρέπει να διαγραφεί ή να πέσει, πρέπει πρώτα να απενεργοποιηθεί

Εδώ, στο παραπάνω στιγμιότυπο οθόνης απενεργοποιούμε την επιτραπέζια εκπαίδευση

απενεργοποίηση όλων

 Syntax: disable_all<"matching regex"
  • Αυτή η εντολή θα απενεργοποιήσει όλους τους πίνακες που ταιριάζουν με το δεδομένο regex.
  • Η εφαρμογή είναι ίδια με την εντολή διαγραφής (Εκτός από την προσθήκη regex για αντιστοίχιση)
  • Μόλις απενεργοποιηθεί ο πίνακας, ο χρήστης μπορεί να διαγράψει τον πίνακα από το HBase
  • Πριν διαγράψετε ή αποθέσετε τον πίνακα, θα πρέπει πρώτα να απενεργοποιηθεί

επιτρέπω

Syntax: enable 

hbase(main):012:0>enable 'education'
  • Αυτή η εντολή θα αρχίσει να ενεργοποιεί τον πίνακα με το όνομα
  • Όποιο τραπέζι είναι απενεργοποιημένο, για να ανακτήσουμε την προηγούμενη κατάσταση χρησιμοποιούμε αυτήν την εντολή
  • Εάν ένας πίνακας είναι απενεργοποιημένος στην πρώτη περίπτωση και δεν διαγραφεί ή απορριφθεί, και αν θέλουμε να χρησιμοποιήσουμε ξανά τον απενεργοποιημένο πίνακα, τότε πρέπει να τον ενεργοποιήσουμε χρησιμοποιώντας αυτήν την εντολή.
  • Εδώ στο παραπάνω στιγμιότυπο οθόνης ενεργοποιούμε τον πίνακα "εκπαίδευση".

show_filters

Syntax: show_filters

Αυτή η εντολή εμφανίζει όλα τα φίλτρα που υπάρχουν στο HBase όπως ColumnPrefix Filter, TimestampsFilter, PageFilter, FamilyFilter κ.λπ.

πτώση

Syntax:drop 

hbase(main):017:0>drop 'education'

Πρέπει να παρατηρήσουμε τα παρακάτω σημεία για εντολή πτώσης

  • Για να διαγράψετε τον πίνακα που υπάρχει στο HBase, πρώτα πρέπει να τον απενεργοποιήσουμε
  • Για να ρίξετε τον πίνακα που υπάρχει στο HBase, πρώτα πρέπει να τον απενεργοποιήσουμε
  • Οπότε είτε ένας πίνακας για πτώση είτε διαγραφή πρώτα ο πίνακας πρέπει να απενεργοποιηθεί χρησιμοποιώντας εντολή απενεργοποίησης
  • Εδώ στο παραπάνω στιγμιότυπο οθόνης ρίχνουμε τον πίνακα "εκπαίδευση".
  • Πριν από την εκτέλεση αυτής της εντολής, είναι απαραίτητο να απενεργοποιήσετε τον πίνακα "εκπαίδευση".

drop_all

Syntax: drop_all<"regex">
  • Αυτή η εντολή θα ρίξει όλους τους πίνακες που ταιριάζουν με το δεδομένο regex
  • Οι πίνακες πρέπει πρώτα να απενεργοποιηθούν πριν από την εκτέλεση αυτής της εντολής χρησιμοποιώντας το disable_all
  • Οι πίνακες με εκφράσεις που ταιριάζουν με regex πρόκειται να πέσουν από το HBase

είναι ενεργοποιημένο

Syntax: is_enabled 'education'

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

  • Ας υποθέσουμε ότι ένας πίνακας είναι απενεργοποιημένος, για να χρησιμοποιήσουμε αυτόν τον πίνακα πρέπει να τον ενεργοποιήσουμε χρησιμοποιώντας την εντολή ενεργοποίησης
  • Η εντολή is_enabled θα ελέγξει εάν ο πίνακας είναι ενεργοποιημένος ή όχι

αλλάζω

Syntax: alter 
, NAME=>, VERSIONS=>5

Αυτή η εντολή τροποποιεί το σχήμα οικογένειας στηλών. Για να καταλάβουμε τι ακριβώς κάνει, το εξηγήσαμε εδώ με ένα παράδειγμα.

Παραδείγματα:

Σε αυτά τα παραδείγματα, πρόκειται να εκτελέσουμε λειτουργίες αλλαγής εντολών σε πίνακες και στις στήλες του. Θα εκτελέσουμε λειτουργίες όπως

  • Τροποποίηση μεμονωμένων, πολλαπλών ονομάτων οικογένειας στηλών
  • Διαγραφή ονομάτων οικογένειας στηλών από τον πίνακα
  • Αρκετές άλλες λειτουργίες που χρησιμοποιούν χαρακτηριστικά πεδίου με πίνακα
  1. Για να αλλάξετε ή να προσθέσετε την οικογένεια στηλών "γκουρού99_1" στον πίνακα "εκπαίδευση" από την τρέχουσα τιμή για να διατηρήσετε το πολύ 5 εκδόσεις ΕΚΤΙΜΗΣΕΩΝ ,
  • Το "εκπαίδευση" είναι το όνομα του πίνακα που δημιουργήθηκε προηγουμένως με το όνομα στήλης "guru99"
  • Εδώ με τη βοήθεια μιας εντολής alter προσπαθούμε να αλλάξουμε το οικογενειακό σχήμα στήλης σε γκουρού99_1 από τον γκουρού99

hbase> alter 'education', NAME='guru99_1', VERSIONS=>5
  1. Μπορείτε επίσης να χρησιμοποιήσετε την εντολή alter σε πολλές οικογένειες στηλών. Για παράδειγμα, θα ορίσουμε δύο νέες στήλες στον υπάρχοντα πίνακα "εκπαίδευση".
 hbase> alter 'edu', 'guru99_1', {NAME => 'guru99_2', IN_MEMORY => true}, {NAME => 'guru99_3', VERSIONS => 5}

  • Μπορούμε να αλλάξουμε περισσότερα από ένα σχήματα στηλών χρησιμοποιώντας αυτήν την εντολή
  • guru99_2 και guru99_3 όπως φαίνεται στο παραπάνω στιγμιότυπο οθόνης είναι τα δύο νέα ονόματα στηλών που έχουμε ορίσει για την εκπαίδευση πίνακα
  • Μπορούμε να δούμε τον τρόπο χρήσης αυτής της εντολής στο προηγούμενο στιγμιότυπο οθόνης
  1. Σε αυτό το βήμα, θα δούμε πώς να διαγράψετε την οικογένεια στηλών από τον πίνακα. Για να διαγράψετε την οικογένεια στηλών "f1" στον πίνακα "εκπαίδευση".

Χρησιμοποιήστε μία από τις παρακάτω εντολές,

hbase> alter 'education', NAME => 'f1', METHOD => 'delete'
hbase> alter 'education', 'delete' =>' guru99_1' 
  • Σε αυτήν την εντολή, προσπαθούμε να διαγράψουμε το όνομα χώρου στηλών γκουρού99_1 που δημιουργήσαμε προηγουμένως στο πρώτο βήμα

  1. Όπως φαίνεται στα παρακάτω στιγμιότυπα οθόνης, δείχνει δύο βήματα - πώς να αλλάξετε το χαρακτηριστικό εύρους πίνακα και πώς να καταργήσετε το χαρακτηριστικό εύρους πίνακα.
Syntax: alter <'tablename'>, MAX_FILESIZE=>'132545224'

Βήμα 1) Μπορείτε να αλλάξετε χαρακτηριστικά εύρους πίνακα όπως MAX_FILESIZE, READONLY, MEMSTORE_FLUSHSIZE, DEFERRED_LOG_FLUSH κ.λπ. Αυτά μπορούν να τεθούν στο τέλος. Για παράδειγμα, για να αλλάξετε το μέγιστο μέγεθος μιας περιοχής σε 128MB ή οποιαδήποτε άλλη τιμή μνήμης που χρησιμοποιούμε εντολή.

Χρήση:

  • Μπορούμε να χρησιμοποιήσουμε MAX_FILESIZE με τον πίνακα ως χαρακτηριστικό εύρους όπως παραπάνω
  • Ο αριθμός που αντιπροσωπεύει το MAX_FILESIZE είναι σε όρους μνήμης σε byte

Ο ΟΤΕ: 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 από τον πίνακα "εκπαίδευση".

alter_status

 Syntax: alter_status 'education'

  • Μέσω αυτής της εντολής, μπορείτε να λάβετε την κατάσταση της εντολής alter
  • Αυτό υποδηλώνει τον αριθμό των περιοχών του πίνακα που έχουν λάβει το ενημερωμένο όνομα πίνακα κάρτας
  • Εδώ στο παραπάνω στιγμιότυπο οθόνης δείχνει 1/1 περιοχές ενημερωμένες. Αυτό σημαίνει ότι έχει ενημερώσει μια περιοχή. Μετά από αυτό εάν επιτύχει θα εμφανίσει το σχόλιο που έγινε.

Εντολές χειρισμού δεδομένων

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

Οι εντολές που ακολουθούν είναι αυτές

  • μετρώ
  • Βάζω
  • Παίρνω
  • Διαγράφω
  • Διαγραφή όλων
  • Κολοβός
  • Σάρωση

Ας δούμε αυτές τις εντολές με ένα παράδειγμα.

μετρώ

Syntax: count <'tablename'>, CACHE =>1000
  • Η εντολή θα ανακτήσει τον αριθμό των σειρών σε έναν πίνακα. Η τιμή που επιστρέφεται από αυτόν είναι ο αριθμός των σειρών.
  • Η τρέχουσα μέτρηση εμφανίζεται από κάθε 1000 σειρές από προεπιλογή.
  • Μπορεί να καθοριστεί προαιρετικά το διάστημα μέτρησης.
  • Το προεπιλεγμένο μέγεθος της προσωρινής μνήμης είναι 10 σειρές.
  • Η εντολή Count θα λειτουργήσει γρήγορα όταν έχει ρυθμιστεί με τη σωστή Cache.

Παράδειγμα:

hbase> count 'guru99', CACHE=>1000

Αυτό το παράδειγμα μετράει 1000 σειρές κάθε φορά από τον πίνακα "Guru99".

Μπορούμε να κάνουμε προσωρινή μνήμη σε κάποια χαμηλότερη τιμή εάν ο πίνακας αποτελείται από περισσότερες σειρές.

Από προεπιλογή, θα πάρει μια σειρά κάθε φορά.

hbase>count 'guru99', INTERVAL => 100000hbase> count 'guru99', INTERVAL =>10, CACHE=> 1000

Εάν ας υποθέσουμε εάν ο πίνακας "Guru99" έχει κάποια αναφορά πίνακα όπως ας πούμε g.

Μπορούμε να εκτελέσουμε την εντολή μέτρησης στην αναφορά πίνακα όπως και παρακάτω

hbase>g.count INTERVAL=>100000hbase>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 στον πίνακα "guru99", όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης

  • Ας υποθέσουμε ότι εάν ο πίνακας "Guru99" έχει κάποια αναφορά πίνακα όπως ας πούμε g. Μπορούμε επίσης να εκτελέσουμε την εντολή στον πίνακα αναφοράς επίσης

    hbase> g.put 'guru99', 'r1', 'c1', 'value', 10
  • Η έξοδος θα είναι όπως φαίνεται στο παραπάνω στιγμιότυπο οθόνης μετά την τοποθέτηση τιμών στο "guru99".

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

Απόσπασμα κώδικα: Για εξάσκηση

create 'guru99', {NAME=>'Edu', VERSIONS=>213423443}put 'guru99', 'r1', 'Edu:c1', 'value', 10put 'guru99', 'r1', 'Edu:c1', 'value', 15put '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'}

Για τον πίνακα "γκουρού99" η σειρά r1 και η στήλη c1 θα εμφανιστούν χρησιμοποιώντας αυτήν την εντολή όπως φαίνεται στην παραπάνω οθόνη

hbase> get 'guru99', 'r1'

Για τον πίνακα "γκουρού99", οι σειρές r1 θα εμφανιστούν χρησιμοποιώντας αυτήν την εντολή

hbase> get 'guru99', 'r1', {TIMERANGE => [ts1, ts2]}

Για τον πίνακα "γκουρού99" οι τιμές της σειράς 1 στο χρονικό εύρος ts1 και ts2 θα εμφανίζονται χρησιμοποιώντας αυτήν την εντολή

hbase> get 'guru99', 'r1', {COLUMN => ['c1', 'c2', 'c3']}

Για τον πίνακα "γκουρού99" της σειράς r1 και της στήλης, οι τιμές c1, c2, c3 των οικογενειών θα εμφανίζονται χρησιμοποιώντας αυτήν την εντολή

Διαγράφω

Syntax:delete <'tablename'>,<'row name'>,<'column name'>
  • Αυτή η εντολή θα διαγράψει την τιμή κελιού στον καθορισμένο πίνακα της γραμμής ή της στήλης.
  • Η διαγραφή πρέπει και πρέπει να ταιριάζει με τις διαγραμμένες συντεταγμένες κελιών.
  • Κατά τη σάρωση, η διαγραφή κελιού καταστέλλει παλαιότερες εκδόσεις τιμών.

Παράδειγμα:

hbase(main):)020:0> delete 'guru99', 'r1', 'c1''. 
  • Η παραπάνω εκτέλεση θα διαγράψει τη σειρά r1 από την οικογένεια στηλών c1 στον πίνακα "guru99."
  • Ας υποθέσουμε εάν ο πίνακας "γκουρού99" έχει κάποια αναφορά πίνακα όπως ας πούμε g.
  • Μπορούμε να εκτελέσουμε την εντολή σε πίνακα αναφοράς, όπως hbase> g.delete 'guru99', 'r1', 'c1' ".

διαγραφή όλων

Syntax: deleteall <'tablename'>, <'rowname'>

  • Αυτή η εντολή θα διαγράψει όλα τα κελιά σε μια δεδομένη σειρά.
  • Μπορούμε να ορίσουμε προαιρετικά ονόματα στηλών και χρονική σήμανση στη σύνταξη.

Παράδειγμα:-

hbase>deleteall 'guru99', 'r1', 'c1'

Αυτό θα διαγράψει όλες τις σειρές και τις στήλες που υπάρχουν στον πίνακα. Προαιρετικά μπορούμε να αναφέρουμε ονόματα στηλών σε αυτό.

Κολοβός

Syntax: truncate 

Μετά την περικοπή ενός πίνακα 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 παρέχει προηγμένη δυνατότητα όπως να εμφανίζει όλες τις τιμές κελιών που υπάρχουν στον πίνακα99

Παράδειγμα κώδικα:

Αρχικά δημιουργήστε πίνακα και τοποθετήστε τιμές στον πίνακα

create 'guru99', {NAME=>'e', VERSIONS=>2147483647}put 'guru99', 'r1', 'e:c1', 'value', 10put 'guru99', 'r1', 'e:c1', 'value', 12put 'guru99', 'r1', 'e:c1', 'value', 14delete 'guru99', 'r1', 'e:c1', 11

Στιγμιότυπο οθόνης εισόδου:

Εάν εκτελέσουμε την εντολή σάρωσης

Query: scan 'guru99', {RAW=>true, VERSIONS=>1000}

Θα εμφανίσει την έξοδο που φαίνεται παρακάτω.

Στιγμιότυπο οθόνης εξόδου:

Η έξοδος που φαίνεται στο παραπάνω στιγμιότυπο οθόνης δίνει τις ακόλουθες πληροφορίες

  • Σάρωση πίνακα γκουρού99 με χαρακτηριστικά RAW => true, VERSIONS => 1000
  • Εμφάνιση σειρών με οικογένειες και τιμές στηλών
  • Στην τρίτη σειρά, οι τιμές που εμφανίζονται δείχνουν τη διαγραμμένη τιμή που υπάρχει στη στήλη
  • Η έξοδος που εμφανίζεται είναι τυχαία. δεν μπορεί να είναι ίδια με τις τιμές που εισαγάγαμε στον πίνακα

Εντολές αναπαραγωγής συμπλέγματος

  • Αυτές οι εντολές λειτουργούν σε λειτουργία ρύθμισης συμπλέγματος του HBase.
  • Για την προσθήκη και αφαίρεση ομότιμων σε σύμπλεγμα και για να ξεκινήσετε και να σταματήσετε την αναπαραγωγή αυτές οι εντολές χρησιμοποιούνται γενικά.

Εντολή

Λειτουργικότητα

add_peer

Προσθέστε συνομηλίκους στο σύμπλεγμα για αναπαραγωγή

hbase> add_peer '3', zk1, zk2, zk3: 2182: / hbase-prod

αφαίρεση_peer

Διακοπή της καθορισμένης ροής αναπαραγωγής.

Διαγράφει όλες τις πληροφορίες μεταδεδομένων σχετικά με το ομότιμο

hbase> remove_peer '1'

start_replication

Επανεκκινεί όλες τις δυνατότητες αναπαραγωγής

hbase> start_replication

stop_replication

Διακόπτει όλες τις δυνατότητες αναπαραγωγής

hbase> stop_replication

Περίληψη :

Το κέλυφος HBase και οι γενικές εντολές παρέχουν πλήρεις πληροφορίες σχετικά με διαφορετικούς τύπους χειρισμού δεδομένων, διαχείριση πίνακα και εντολές αναπαραγωγής συμπλέγματος. Μπορούμε να εκτελέσουμε διάφορες λειτουργίες χρησιμοποιώντας αυτές τις εντολές σε πίνακες που υπάρχουν στο HBase.