Hive Create Table: Internal Table, Alter, Drop with Examples
Τραπέζι Operaθέσεις όπως Δημιουργία, Αλλαγή και Απόρριψη Οι πίνακες στο Hive μπορούν να παρατηρηθούν σε αυτό το σεμινάριο.
Στο παρακάτω στιγμιότυπο οθόνης, δημιουργούμε έναν πίνακα με στήλες και αλλάζουμε το όνομα του πίνακα.
1. Δημιουργία πίνακα guru_sample με δύο ονόματα στηλών, όπως "empid" και "empname"
2. Εμφάνιση πινάκων που υπάρχουν στη βάση δεδομένων guru99
3. Guru_sample που εμφανίζεται κάτω από πίνακες
4. Αλλαγή πίνακα "guru_sample" ως "guru_sampleNew"
5. Και πάλι, όταν εκτελείτε την εντολή "show", θα εμφανιστεί το νέο όνομα Guru_sampleNew
Dropping table guru_sampleNew:
Τύποι πινάκων και η χρήση του
Ερχομαι σε πίνακες είναι ακριβώς όπως ο τρόπος που δημιουργούμε στις παραδοσιακές Σχεσιακές Βάσεις Δεδομένων. Οι λειτουργίες όπως φιλτράρισμα, ενώσεις μπορούν να εκτελεστούν στους πίνακες.
Κυψέλη ασχολείται με δύο τύπους δομών τραπεζιών όπως Εσωτερικός και εξωτερικός πίνακες ανάλογα με τη φόρτωση και το σχεδιασμό του σχήματος στο Hive.
Εσωτερικοί πίνακες
- Ο εσωτερικός πίνακας είναι στενά συνδεδεμένος στη φύση. Σε αυτόν τον τύπο πίνακα, πρώτα πρέπει να δημιουργήσουμε πίνακα και να φορτώσουμε τα δεδομένα.
- Μπορούμε να το ονομάσουμε αυτό ως δεδομένα σχετικά με το σχήμα.
- Με την απόρριψη αυτού του πίνακα, τόσο τα δεδομένα όσο και το σχήμα θα καταργηθούν.
- Η αποθηκευμένη τοποθεσία αυτού του πίνακα θα είναι στο /user/hive/warehouse.
Πότε να επιλέξετε εσωτερικό πίνακα;
- Εάν τα δεδομένα επεξεργασίας είναι διαθέσιμα στο τοπικό σύστημα αρχείων
- Αν θέλουμε η Hive να διαχειρίζεται τον πλήρη κύκλο ζωής των δεδομένων, συμπεριλαμβανομένης της διαγραφής
Δείγμα αποσπάσματος κώδικα για εσωτερικό πίνακα
1. Για να δημιουργήσετε τον εσωτερικό πίνακα
Hive>CREATE TABLE guruhive_internaltable (id INT,Name STRING); Row format delimited Fields terminated by '\t';
2. Φορτώστε τα δεδομένα στον εσωτερικό πίνακα
Hive>LOAD DATA INPATH '/user/guru99hive/data.txt' INTO table guruhive_internaltable;
3. Εμφανίστε το περιεχόμενο του πίνακα
Hive>select * from guruhive_internaltable;
4. Για να πέσει ο εσωτερικός πίνακας
Hive>DROP TABLE guruhive_internaltable;
Εάν απορρίψατε το guruhive_internaltable, συμπεριλαμβανομένων των μεταδεδομένων και των δεδομένων του θα διαγραφούν από το Hive.
Από το παρακάτω στιγμιότυπο οθόνης, μπορούμε να παρατηρήσουμε την έξοδο
Στον παραπάνω κώδικα και από το στιγμιότυπο οθόνης κάνουμε τα εξής:
- Δημιουργήστε τον εσωτερικό πίνακα
- Φορτώστε τα δεδομένα στον εσωτερικό πίνακα
- Εμφάνιση του περιεχομένου του πίνακα
- Για να πέσει ο εσωτερικός πίνακας
Εξωτερικά τραπέζια
- Το εξωτερικό τραπέζι είναι χαλαρά συνδεδεμένο στη φύση. Τα δεδομένα θα είναι διαθέσιμα στο HDFS. Ο πίνακας πρόκειται να δημιουργηθεί σε δεδομένα HDFS.
- Κατά τα άλλα, μπορούμε να πούμε ότι η δημιουργία του σχήμα στα δεδομένα.
- Κατά τη στιγμή της απόρριψης του πίνακα, απορρίπτεται μόνο το σχήμα, τα δεδομένα θα εξακολουθούν να είναι διαθέσιμα στο HDFS όπως πριν.
- Οι εξωτερικοί πίνακες παρέχουν μια επιλογή δημιουργίας πολλαπλών σχημάτων για τα δεδομένα που είναι αποθηκευμένα στο HDFS αντί να διαγράφονται τα δεδομένα κάθε φορά κάθε φορά που ενημερώνεται το σχήμα
Πότε να επιλέξετε εξωτερικό τραπέζι;
- Εάν τα δεδομένα επεξεργασίας είναι διαθέσιμα στο HDFS
- Χρήσιμο όταν τα αρχεία χρησιμοποιούνται εκτός του Hive
Δείγμα αποσπάσματος κώδικα για εξωτερικό πίνακα
1. Δημιουργία εξωτερικού πίνακα
Hive>CREATE EXTERNAL TABLE guruhive_external(id INT,Name STRING) Row format delimited Fields terminated by '\t' LOCATION '/user/guru99hive/guruhive_external;
2. Εάν δεν καθορίζουμε την τοποθεσία τη στιγμή της δημιουργίας του πίνακα, μπορούμε να φορτώσουμε τα δεδομένα με μη αυτόματο τρόπο
Hive>LOAD DATA INPATH '/user/guru99hive/data.txt' INTO TABLE guruhive_external;
3. Εμφανίστε το περιεχόμενο του πίνακα
Hive>select * from guruhive_external;
4. Για να πέσει ο εσωτερικός πίνακας
Hive>DROP TABLE guruhive_external;
Από το παρακάτω στιγμιότυπο οθόνης, μπορούμε να παρατηρήσουμε την έξοδο
Στον παραπάνω κώδικα, κάνουμε τα εξής πράγματα
- Δημιουργήστε τον εξωτερικό πίνακα
- Φορτώστε τα δεδομένα στον εξωτερικό πίνακα
- Εμφάνιση του περιεχομένου του πίνακα
- Πτώση εξωτερικού τραπεζιού
Διαφορά μεταξύ εσωτερικών και εξωτερικών πινάκων
Χαρακτηριστικό | Εσωτερικός | Εξωτερικός |
---|---|---|
Schema | Δεδομένα για το σχήμα | Σχήμα σε δεδομένα |
Τοποθεσία αποθήκευσης | /usr/hive/warehouse | Τοποθεσία HDFS |
Διαθεσιμότητα δεδομένων | Μέσα σε τοπικό σύστημα αρχείων | Εντός HDFS |