GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Membuat Tabel Eksternal di Hive

Pendahuluan

Dalam terminologi Hive, tabel eksternal adalah tabel yang tidak dikelola dengan Hive. Tujuannya adalah untuk memfasilitasi pengimporan data dari file eksternal ke metastore.

Data tabel eksternal disimpan secara eksternal, sedangkan metastore Hive hanya berisi skema metadata. Akibatnya, menjatuhkan tabel eksternal tidak memengaruhi data.

Dalam tutorial ini, Anda akan mempelajari cara membuat, membuat kueri, dan melepaskan tabel eksternal di Hive.

Prasyarat

  • Ubuntu 18.04 LTS atau lebih baru
  • Akses ke baris perintah dengan hak istimewa sudo
  • Apache Hadoop diinstal dan dijalankan
  • Apache Hive diinstal dan dijalankan

Catatan: Tutorial ini menggunakan Ubuntu 20.04. Namun, Hive bekerja sama di semua sistem operasi. Ini berarti proses membuat, membuat kueri, dan menghapus tabel eksternal dapat diterapkan ke Hive di Windows, Mac OS, distribusi Linux lainnya, dll.

Membuat Tabel Eksternal di Hive – Penjelasan Sintaks

Saat membuat tabel eksternal di Hive, Anda perlu memberikan informasi berikut:

  • Nama tabelcreate external table perintah membuat tabel. Jika tabel dengan nama yang sama sudah ada di sistem, ini akan menyebabkan kesalahan. Untuk menghindarinya, tambahkan if not exists ke pernyataan. Nama tabel tidak peka huruf besar/kecil.
  • Nama dan jenis kolom – Sama seperti nama tabel, nama kolom tidak peka huruf besar/kecil. Jenis kolom adalah nilai seperti int , char , string , dll.
  • Format baris – Baris menggunakan format SerDe (Serializer/Deserializer) asli atau khusus. SerDe Asli akan digunakan jika format baris tidak ditentukan, atau jika ditentukan sebagai dibatasi.
  • Karakter penghentian kolom – Ini adalah char ketik karakter yang memisahkan nilai tabel dalam satu baris.
  • Format penyimpanan – Anda dapat menentukan format penyimpanan seperti file teks, file urutan, file json, dll.
  • Lokasi – Ini adalah lokasi direktori HDFS dari file yang berisi data tabel.

Sintaks yang benar untuk memberikan informasi ini ke Hive adalah:

create external table if not exists [external-table-name] (
[column1-name] [column1-type], [column2-name] [column2-type], …)
comment '[comment]'
row format [format-type]
fields terminated by '[termination-character]'
stored as [storage-type]
location '[location]';

Buat Tabel Eksternal Hive – Contoh

Untuk tujuan contoh praktis, tutorial ini akan menunjukkan cara mengimpor data dari file CSV ke tabel eksternal.

Langkah 1:Siapkan File Data

1. Buat file CSV berjudul 'countries.csv':

sudo nano countries.csv

2. Untuk setiap negara dalam daftar, tuliskan nomor baris, nama negara, ibu kotanya, dan populasinya dalam jutaan:

1,USA,Washington,328
2,France,Paris,67
3,Spain,Madrid,47
4,Russia,Moscow,145
5,Indonesia,Jakarta,267
6,Nigeria,Abuja,196

3. Simpan file dan catat lokasinya.

Langkah 2:Impor File ke HDFS

1. Buat direktori HDFS. Anda akan menggunakan direktori ini sebagai lokasi HDFS dari file yang Anda buat.

hdfs dfs -mkdir [hdfs-directory-name]

2. Impor file CSV ke HDFS:

hdfs dfs -put [original-file-location] [hdfs-directory-name]

3. Gunakan -ls perintah untuk memverifikasi bahwa file ada di folder HDFS:

hdfs dfs -ls [hdfs-directory-name]

Outputnya menampilkan semua file yang saat ini ada di direktori.

Catatan: Untuk mempelajari lebih lanjut tentang HDFS, lihat Apa itu HDFS? Panduan Sistem File Terdistribusi Hadoop.

Langkah 3:Buat Tabel Eksternal

1. Setelah Anda mengimpor file data ke HDFS, mulai Hive dan gunakan sintaks yang dijelaskan di atas untuk membuat tabel eksternal.

2. Untuk memverifikasi bahwa pembuatan tabel eksternal berhasil, ketik:

select * from [external-table-name];

Outputnya harus mencantumkan data dari file CSV yang Anda impor ke dalam tabel:

3. Jika Anda ingin membuat tabel terkelola menggunakan data dari tabel eksternal, ketik:

create table if not exists [managed-table-name](
[column1-name] [column1-type], [column2-name] [var2-name], …)
comment '[comment]';

4. Selanjutnya, impor data dari tabel eksternal:

insert overwrite table [managed-table-name] select * from [external-table-name];

5. Verifikasi bahwa data berhasil dimasukkan ke tabel terkelola.

select * from [managed-table-name];

Cara Membuat Kueri Tabel Eksternal Hive

Untuk menampilkan semua data yang disimpan dalam tabel, Anda akan menggunakan select * from perintah diikuti dengan nama tabel. Hive menawarkan daftar perintah kueri yang luas untuk memungkinkan Anda mempersempit pencarian dan mengurutkan data sesuai dengan preferensi Anda.

Misalnya, Anda dapat menggunakan where perintah setelah select * from untuk menentukan kondisi:

select * from [table_name] where [condition];

Hive hanya akan menampilkan baris yang memenuhi kondisi yang diberikan dalam kueri:

Alih-alih tanda bintang karakter yang merupakan singkatan dari "semua data", Anda dapat menggunakan penentu yang lebih spesifik. Mengganti tanda bintang dengan nama kolom (seperti NamaNegara , dari contoh di atas) hanya akan menampilkan data dari kolom yang dipilih.

Berikut adalah beberapa fungsi kueri yang berguna dan sintaksnya:

Fungsi Sintaks
Kueri tabel menurut beberapa kondisi select * from [table_name] where [condition1] and [condition2];
Pesan data tabel select [column1_name], [column2_name] from [table_name] order by [column_name];
Urutkan data tabel dalam urutan menurun select [column1_name], [column2_name] from [table_name] order by [column_name] desc;
Tampilkan jumlah baris select count(*) from [table_name];

Cara Menjatuhkan Tabel Eksternal Hive

1. Menjatuhkan tabel eksternal di Hive dilakukan menggunakan perintah drop yang sama dengan yang digunakan untuk tabel terkelola:

drop table [table_name];

Output akan mengkonfirmasi keberhasilan operasi:

2. Menanyakan tabel yang dijatuhkan akan mengembalikan kesalahan:

Namun, data dari tabel eksternal tetap berada di sistem dan dapat diambil dengan membuat tabel eksternal lain di lokasi yang sama.


Ubuntu
  1. Cara membuat tabel di PhpMyAdmin

  2. Bagaimana Cara Membuat Usb yang Persisten?

  3. Cara Membuat Subdomain

  1. Cara Membuat Pengguna Sudo di Debian

  2. Bagaimana Cara Membuat Lingkup?

  3. Cara membuat subdomain

  1. Cara Membuat Database MySQL di Workbench

  2. Cara Mengekspor Tabel PostgreSQL ke CSV

  3. Cara Membuat Tabel di Hive