Hive ETL: Memuat JSON, XML, Contoh Data Teks
⚡ Ringkasan Cerdas
Hive ETL mengubah file teks, XML, dan JSON menjadi tabel yang dapat dikueri dengan memuatnya ke dalam Hive dan mengekstraknya.tracMengolah nilai dengan xpath() dan get_json_object(), memberikan analis antarmuka SQL atas data Hadoop semi-terstruktur.
Hive sebagai alat ETL dan gudang data di atas Hadoop Ekosistem menyediakan fungsionalitas seperti pemodelan data, manipulasi data, pemrosesan data, dan kueri data. Data extracDalam Hive, "pengolahan" berarti pembuatan tabel di Hive dan pemuatan data terstruktur dan semi-terstruktur serta kueri data berdasarkan kebutuhan.
Untuk pemrosesan batch, kita akan menulis skrip yang ditentukan sendiri menggunakan skrip map dan reduce khusus dalam bahasa skrip. Ini menyediakan SQL seperti lingkungan dan dukungan untuk pertanyaan yang mudah.
Bekerja dengan Data Terstruktur menggunakan Hive
Data terstruktur berarti data tersebut berada dalam format baris dan kolom yang tepat. Ini lebih seperti RDBMS data dengan baris dan kolom yang tepat.
Di sini kita akan memuat data terstruktur yang terdapat dalam file teks ke dalam Hive.
Langkah 1) Pada langkah ini kita membuat tabel “employees_guru” dengan nama kolom seperti Id, Nama, Umur, Alamat, Gaji dan Departemen karyawan dengan tipe datanya.
Dari tangkapan layar di atas, kita dapat mengamati hal-hal berikut:
- Pembuatan tabel “employees_guru”
- Memuat data dari Employees.txt ke dalam tabel “employees_guru”
Langkah 2) Pada langkah ini, kita menampilkan isi yang tersimpan dalam tabel ini dengan menggunakan perintah “Select”. Kita dapat mengamati isi tabel pada tangkapan layar berikut.
Cuplikan kode contoh
Kueri yang harus dilakukan
1) Create table employees_guru(Id INT, Name STRING, Age INT, Address STRING, Salary FLOAT, Department STRING) > Row format delimited > Fields terminated by ','; 2) load data local inpath '/home/hduser/Employees.txt' into TABLE employees_guru; 3) select * from employees_guru;
Bekerja dengan Data Semi-terstruktur menggunakan Hive (XML, JSON)
Hive menjalankan fungsi ETL dalam ekosistem Hadoop dengan bertindak sebagai alat ETLMenerapkan MapReduce pada beberapa jenis aplikasi bisa jadi sulit; Hive dapat mengurangi kerumitan tersebut dan memberikan solusi terbaik untuk aplikasi TI di sektor data warehousing.
Data semi-terstruktur seperti XML dan JSON dapat diproses dengan lebih sederhana menggunakan Hive. Pertama, kita akan melihat bagaimana kita dapat menggunakan Hive untuk... XML.
Konversi XML ke Tabel Hive
Dalam hal ini, kita akan memuat data XML ke dalam tabel Hive, dan kita akan mengambil nilai yang disimpan di dalam tag XML.
Langkah 1) Pembuatan tabel “xmlsample_guru” dengan kolom str bertipe data string.
Dari tangkapan layar di atas, kita dapat mengamati hal-hal berikut:
- Pembuatan tabel “xmlsample_guru”
- Memuat data dari test.xml ke dalam tabel “xmlsample_guru”
Langkah 2) Menggunakan XPath Dengan menggunakan metode xpath(), kita dapat mengambil data yang tersimpan di dalam tag XML.
Dari tangkapan layar di atas, kita dapat mengamati hal-hal berikut:
- Dengan menggunakan metode xpath(), kita mengambil nilai yang tersimpan di bawah /emp/esal/ dan /emp/ename/.
- Nilai yang terdapat di dalam tag XML. Pada langkah ini, kita menampilkan nilai aktual yang tersimpan di dalam tag XML pada tabel “xmlsample_guru”.
Perhatikan bahwa xpath() mengembalikan array string; xpath_string(), xpath_int() dan xpath_double() mengembalikan nilai bertipe tunggal.
Langkah 3) Pada langkah ini, kita akan mengambil dan menampilkan XML mentah dari tabel “xmlsample_guru”.
Dari tangkapan layar di atas, kita dapat mengamati hal-hal berikut:
- Data XML aktual ditampilkan dengan tag
- Jika kita mengamati satu tag saja, tag induknya adalah “emp”, sedangkan tag anaknya adalah “ename” dan “esal”.
Code potongan:
Kueri yang harus dilakukan
1) create table xmlsample_guru(str string); 2) load data local inpath '/home/hduser/test.xml' overwrite into table xmlsample_guru; 3) select xpath(str,'emp/ename/text()'), xpath(str,'emp/esal/text()') from xmlsample_guru;
json (JavaNotasi Objek Skrip)
Data media sosial dan situs web umumnya disimpan dalam format JSON. Setiap kali kita mencoba mengambil data dari server online, data yang dikembalikan akan berupa file JSON. Dengan menggunakan Hive sebagai penyimpanan data, kita dapat memuat data JSON ke dalam tabel Hive dengan membuat skema.
Konversi JSON ke Tabel Hive
Dalam hal ini, kita akan memuat data JSON ke dalam tabel Hive, dan kita akan mengambil nilai-nilai yang tersimpan dalam skema JSON.
Langkah 1) Pada langkah ini, kita akan membuat tabel JSON bernama “json_guru”. Setelah dibuat, kita akan memuat dan menampilkan isi skema yang sebenarnya.
Dari tangkapan layar di atas, kita dapat mengamati hal-hal berikut:
- Pembuatan tabel “json_guru”
- Memuat data dari test.json ke dalam tabel “json_guru”
- Menampilkan skema sebenarnya dari file JSON yang tersimpan di tabel json_guru.
Langkah 2) Dengan menggunakan metode get_json_object(), kita dapat mengambil nilai data yang tersimpan dalam hierarki JSON.
Dari tangkapan layar di atas, kita dapat mengamati hal-hal berikut:
- Dengan menggunakan get_json_object(str,'$.ecode'), nilai ecode dapat diambil dari tabel json_guru. Demikian pula, dengan menggunakan get_json_object(str,'$.ename') dan get_json_object(str,'$.sal'), nilai ename dan sal dapat diambil dari tabel json_guru.
- Nilai yang tersimpan di dalam hierarki JSON di json_guru
Karena get_json_object() mengurai dokumen sekali per panggilan, json_tuple() lebih murah ketika beberapa kunci dibutuhkan, dan JSON SerDe memetakan dokumen ke kolom bertipe pada saat pemuatan.
Code potongan
Kueri yang harus dilakukan
1) create table json_guru(str string); 2) load data inpath 'home/hduser/test.json' into table json_guru; 3) select * from json_guru; 4) select get_json_object(str,'$.ecode') as ecode, get_json_object(str,'$.ename') as ename ,get_json_object(str,'$.sal') as salary from json_guru;
Konversi JSON kompleks ke Tabel Hive
Dalam hal ini, kita akan memuat data JSON yang kompleks ke dalam tabel Hive, dan kita akan mengambil nilai-nilai yang tersimpan dalam skema JSON.
Langkah 1) Membuat complexjson_guru dengan field kolom tunggal.
Dari tangkapan layar di atas, kita dapat mengamati hal-hal berikut:
- Pembuatan tabel complexjson_guru dengan satu kolom bertipe data string.
- Memuat data ke dalam complexjson_guru dari file JSON kompleks emp.json
Langkah 2) Dengan menggunakan get_json_object, kita dapat mengambil konten sebenarnya yang tersimpan di dalam hierarki file JSON.
Dari tangkapan layar berikut, kita dapat melihat output data yang tersimpan di complexjson_guru.
Langkah 3) Pada langkah ini, dengan menggunakan perintah “Select”, kita dapat melihat data JSON kompleks yang tersimpan di dalam tabel “complexjson_guru”.
Cuplikan kode contoh
Kueri yang harus dilakukan
1) create table complexjson_guru(json string); 2) load data inpath 'home/hduser/emp.json' into table complexjson_guru; 3) select get_json_object(json,'$.ecode') as ecode ,get_json_object(json,'$.b') as code, get_json_object(json,'$.c') from complexjson_guru; 4) select * from complexjson_guru;
Hive dalam Proyek Real-time – Kapan dan Di Mana Menggunakannya
Kapan dan di mana menggunakan Hive dalam ekosistem Hadoop:
Ketika
- Saat bekerja dengan fungsi statistik yang kuat dan andal di ekosistem Hadoop.
- Saat bekerja dengan pemrosesan data terstruktur dan semi-terstruktur
- Sebagai alat gudang data dengan Hadoop
- Pengambilan data secara real-time dengan HBase, di mana Hive dapat digunakan.
Where
- Untuk kemudahan penggunaan sebagai alat ETL dan gudang data.
- Untuk menyediakan lingkungan tipe SQL dan melakukan kueri seperti SQL menggunakan HiveQL.
- Untuk menggunakan dan menerapkan skrip map dan reducer khusus yang ditentukan untuk kebutuhan klien tertentu.











