Hive ETL: Memuat JSON, XML, Contoh Data Teks

Daftar Isi:

Anonim

Hive sebagai ETL dan alat pergudangan data di atas ekosistem Hadoop menyediakan fungsionalitas seperti Pemodelan data, Manipulasi data, Pemrosesan data, dan Kueri data. Ekstraksi Data di Hive berarti pembuatan tabel di Hive dan memuat data terstruktur dan semi terstruktur serta melakukan kueri data berdasarkan persyaratan.

Untuk pemrosesan batch, kami akan menulis skrip yang ditentukan khusus menggunakan peta khusus dan mengurangi skrip menggunakan bahasa skrip. Ini menyediakan lingkungan seperti SQL dan dukungan untuk memudahkan kueri.

Dalam tutorial ini, Anda akan belajar-

  • Bekerja dengan Data Terstruktur menggunakan Hive
  • Bekerja dengan data Semi terstruktur menggunakan Hive (XML, JSON)
  • Proyek Hive in Real-time - Kapan dan Di Mana Menggunakannya

Bekerja dengan Data Terstruktur menggunakan Hive

Data Terstruktur berarti bahwa data dalam format baris dan kolom yang tepat. Ini lebih seperti data RDBMS dengan baris dan kolom yang tepat.

Di sini kita akan memuat data terstruktur yang ada dalam file teks di Hive

Langkah 1) Pada langkah ini kita membuat tabel "employee_guru" dengan nama kolom seperti Id, Nama, Umur, Alamat, Gaji dan Departemen karyawan dengan tipe data.

Dari tangkapan layar di atas, kita dapat mengamati yang berikut ini,

  1. Pembuatan tabel "employee_guru"
  2. Memuat data dari Employees.txt ke dalam tabel "employee_guru"

Langkah 2) Pada langkah ini kami menampilkan konten yang disimpan dalam tabel ini dengan menggunakan perintah "Pilih". Kita bisa mengamati isi tabel di screen shot berikut.

- Cuplikan kode sampel

Kueri yang akan 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 di ekosistem Hadoop dengan bertindak sebagai alat ETL. Mungkin sulit untuk melakukan pengurangan peta pada beberapa jenis aplikasi, Hive dapat mengurangi kompleksitas dan memberikan solusi terbaik untuk aplikasi TI dalam hal sektor pergudangan data.

Data semi terstruktur seperti XML dan JSON dapat diproses dengan lebih sedikit kerumitan menggunakan Hive. Pertama kita akan melihat bagaimana kita bisa menggunakan Hive untuk XML.

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 dengan tipe data string.

Dari tangkapan layar di atas, kita dapat mengamati yang berikut ini

  1. Pembuatan tabel "xmlsample_guru"
  2. Memuat data dari test.xml ke dalam tabel "xmlsample_guru"

Langkah 2) Dengan menggunakan metode XPath () kita akan dapat mengambil data yang disimpan di dalam tag XML.

Dari tangkapan layar di atas, kita dapat mengamati yang berikut ini

  1. Menggunakan metode XPATH () kami mengambil nilai yang disimpan di bawah / emp / esal / dan / emp / ename /
  2. Nilai hadir di dalam tag XML. Pada langkah ini, kami menampilkan nilai aktual yang disimpan di bawah tag XML dalam tabel "xmlsample_guru"

Langkah 3) Pada langkah ini, kita akan mengambil dan menampilkan XML Mentah dari tabel "xmlsample_guru."

Dari tangkapan layar di atas, kita dapat mengamati yang berikut ini

  • Data XML sebenarnya ditampilkan dengan tag
  • Jika kita mengamati tag tunggal, itu dengan "emp" sebagai tag induk dengan "ename" dan "esal" sebagai tag anak.

Cuplikan Kode:

Kueri yang akan 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 (Notasi Objek JavaScript)

Data Twitter dan situs web disimpan dalam format JSON. Setiap kali kami mencoba mengambil data dari server online, file JSON akan dikembalikan. Menggunakan Hive sebagai penyimpanan data kita dapat memuat data JSON ke dalam tabel Hive dengan membuat skema.

JSON TO HIVE TABLE

Dalam hal ini, kita akan memuat data JSON ke dalam tabel Hive, dan kita akan mengambil nilai yang disimpan dalam skema JSON.

Langkah 1) Pada langkah ini, kita akan membuat nama tabel JSON "json_guru". Setelah dibuat memuat dan menampilkan konten skema yang sebenarnya.

Dari tangkapan layar di atas, kita dapat mengamati yang berikut ini

  1. Pembuatan tabel "json_guru"
  2. Memuat data dari test.json ke dalam tabel "json_guru"
  3. Menampilkan skema sebenarnya dari file JSON yang disimpan dalam tabel json_guru

Langkah 2) Menggunakan metode get_json_object () kita dapat mengambil nilai Data yang disimpan dalam hierarki JSON

Dari tangkapan layar di atas kita dapat mengamati hal-hal berikut ini

  1. Menggunakan get_json_object (str, '$. Ecode) ini dapat mengambil nilai ecode dari tabel json_guru. Demikian pula menggunakan get_json_object (str, '$. Ename), get_json_object (str,' $. Sali) itu akan mengambil nilai sal ename dari tabel json_guru
  2. Nilai yang disimpan di dalam JSON Hierarchy di json_guru

Cuplikan Kode

Kueri yang akan dilakukan

1) create table json_guru(str string);2) load data inpath 'home/hduser/test.json' into table json_guru;3) select * from json1;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;

Kompleks JSON UNTUK HIVE TABLE

Dalam hal ini, kita akan memuat data JSON Kompleks ke dalam tabel Hive, dan kita akan mengambil nilai yang disimpan dalam skema JSON

Langkah 1) Membuat complexjson_guru dengan kolom kolom tunggal

Dari tangkapan layar di atas, kita dapat mengamati yang berikut ini

  1. Pembuatan tabel complexjson_guru dengan kolom kolom tunggal sebagai tipe data string
  2. Memuat data ke complexjson_guru dari file JSON kompleks emp.json

Langkah 2) Dengan menggunakan get_json_object kita dapat mengambil konten aktual yang disimpan di dalam hierarki file JSON.

Dari tangkapan layar berikut, kita dapat melihat keluaran dari data yang disimpan di complexjson_guru.

Langkah 3) Pada langkah ini, dengan menggunakan perintah "Select" kita sebenarnya dapat melihat data JSON kompleks yang disimpan di dalam tabel "complexjson_guru"

- Cuplikan Kode Sampel,

Kueri yang akan 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;

Proyek Hive in Real-time - Kapan dan Di Mana Menggunakannya

Kapan dan Dimana Menggunakan Sarang di Ekosistem Hadoop:

Kapan

  • Saat bekerja dengan fungsi statistik yang kuat dan kuat di ekosistem Hadoop
  • Saat bekerja dengan pemrosesan data terstruktur dan Semi terstruktur
  • Sebagai alat gudang data dengan Hadoop
  • Penyerapan data waktu nyata dengan HBASE, Sarang dapat digunakan

Dimana

  • Untuk kemudahan penggunaan ETL dan alat data warehousing
  • Untuk menyediakan lingkungan tipe SQL dan untuk melakukan kueri seperti SQL menggunakan HIVEQL
  • Untuk menggunakan dan menerapkan peta khusus dan skrip peredam untuk kebutuhan klien tertentu