Hive ETL: Memuatkan Contoh Data Teks JSON, XML

Isi kandungan:

Anonim

Hive sebagai ETL dan alat pergudangan data di atas ekosistem Hadoop menyediakan fungsi seperti pemodelan Data, manipulasi Data, pemprosesan data dan pertanyaan Data. Pengekstrakan Data di Hive bermaksud penciptaan jadual di Hive dan memuat data berstruktur dan separa berstruktur serta pertanyaan data berdasarkan keperluan.

Untuk pemrosesan kumpulan, kami akan menulis skrip yang ditentukan khusus menggunakan peta khusus dan mengurangi skrip menggunakan bahasa skrip. Ia menyediakan persekitaran dan sokongan seperti SQL untuk membuat pertanyaan dengan mudah.

Dalam tutorial ini, anda akan belajar-

  • Bekerja dengan Data Berstruktur menggunakan Hive
  • Bekerja dengan data separa berstruktur menggunakan Hive (XML, JSON)
  • Sarang dalam projek Masa nyata - Masa dan Tempat Penggunaan

Bekerja dengan Data Berstruktur menggunakan Hive

Data Berstruktur bermaksud data dalam format baris dan lajur yang betul. Ini lebih seperti data RDBMS dengan baris dan lajur yang betul.

Di sini kita akan memuatkan data berstruktur yang terdapat dalam fail teks di Hive

Langkah 1) Pada langkah ini kita membuat jadual "karyawan_guru" dengan nama lajur seperti Id, Nama, Umur, Alamat, Gaji dan Jabatan pekerja dengan jenis data.

Dari tangkapan skrin di atas, kita dapat melihat perkara berikut,

  1. Penciptaan jadual "karyawan_guru"
  2. Memuatkan data dari Employees.txt ke dalam jadual "karyawan_guru"

Langkah 2) Pada langkah ini, kami memaparkan isi yang tersimpan dalam jadual ini dengan menggunakan perintah "Pilih". Kita dapat melihat isi jadual dalam tangkapan skrin berikut.

- Contoh coretan kod

Pertanyaan 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 separa berstruktur menggunakan Hive (XML, JSON)

Hive melakukan fungsi ETL dalam ekosistem Hadoop dengan bertindak sebagai alat ETL. Adalah sukar untuk melakukan pengurangan peta dalam beberapa jenis aplikasi, Hive dapat mengurangi kerumitan dan memberikan solusi terbaik untuk aplikasi IT dari segi sektor pergudangan data.

Data separa berstruktur seperti XML dan JSON dapat diproses dengan kurang kerumitan menggunakan Hive. Mula-mula kita akan melihat bagaimana kita boleh menggunakan Hive untuk XML.

XML KE TABEL HIVE

Dalam ini, kita akan memuat data XML ke dalam tabel Hive, dan kita akan mengambil nilai yang disimpan di dalam tag XML.

Langkah 1) Pembuatan Jadual "xmlsample_guru" dengan lajur str dengan jenis data rentetan.

Dari tangkapan skrin di atas, kita dapat melihat perkara berikut

  1. Pembuatan jadual "xmlsample_guru"
  2. Memuatkan data dari test.xml ke dalam jadual "xmlsample_guru"

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

Dari tangkapan skrin di atas, kita dapat melihat perkara berikut

  1. Dengan menggunakan kaedah XPATH () kami mengambil nilai yang disimpan di bawah / emp / esal / dan / emp / ename /
  2. Nilai hadir dalam label XML. Dalam langkah ini, kami menampilkan nilai sebenarnya yang tersimpan di bawah tag XML dalam jadual "xmlsample_guru"

Langkah 3) Pada langkah ini, kami akan mengambil dan memaparkan XML mentah jadual "xmlsample_guru."

Dari tangkapan skrin di atas, kita dapat melihat perkara berikut

  • Data XML sebenar yang dipaparkan dengan tag
  • Sekiranya kita melihat satu tanda, ia adalah dengan "emp" sebagai tanda induk dengan "ename" dan "esal" sebagai tag anak.

Coretan Kod:

Pertanyaan 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 laman web disimpan dalam format JSON. Setiap kali kita cuba mengambil data dari pelayan dalam talian, ia akan mengembalikan fail JSON. Dengan menggunakan Hive sebagai penyimpanan data, kita dapat memuat data JSON ke dalam tabel Hive dengan membuat skema.

JSON KE HIVE TABLE

Dalam ini, kita akan memuatkan 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 jadual JSON "json_guru". Setelah dibuat memuatkan dan memaparkan kandungan skema sebenar.

Dari tangkapan skrin di atas, kita dapat melihat perkara berikut

  1. Pembuatan jadual "json_guru"
  2. Memuatkan data dari test.json ke dalam jadual "json_guru"
  3. Memaparkan skema sebenar fail JSON yang disimpan dalam jadual json_guru

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

Dari tangkapan skrin di atas kita dapat melihat perkara berikut

  1. Menggunakan get_json_object (str, '$. Ecode) ia dapat mengambil nilai ekod dari jadual json_guru. Begitu juga dengan menggunakan get_json_object (str, '$. Ename), get_json_object (str,' $. Sali) ia akan mengambil nilai sal ename dari jadual json_guru
  2. Nilai yang tersimpan di dalam JSON Hierarki di json_guru

Coretan Kod

Pertanyaan 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 KE HIVE

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

Langkah 1) Membuat complexjson_guru dengan medan lajur tunggal

Dari tangkapan skrin di atas, kita dapat melihat perkara berikut

  1. Penciptaan di complex complexjson_guru dengan medan lajur tunggal sebagai jenis data rentetan
  2. Memuatkan data ke complexjson_guru dari fail JSON kompleks emp.json

Langkah 2) Dengan menggunakan get_json_object kita dapat mengambil kandungan sebenar yang disimpan di dalam hierarki fail JSON.

Dari tangkapan skrin berikut, kita dapat melihat output data yang disimpan di complexjson_guru.

Langkah 3) Pada langkah ini, dengan menggunakan perintah "Pilih" kita benar-benar dapat melihat data JSON kompleks yang tersimpan di dalam jadual "complexjson_guru"

- Contoh Coretan Kod,

Pertanyaan 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;

Sarang dalam projek Masa nyata - Masa dan Tempat Penggunaan

Kapan dan Tempat Menggunakan Sarang di Ekosistem Hadoop:

Bila

  • Semasa bekerja dengan fungsi statistik yang kuat dan kuat pada ekosistem Hadoop
  • Semasa bekerja dengan pemprosesan data berstruktur dan Separa berstruktur
  • Sebagai alat gudang data dengan Hadoop
  • Pengambilan data masa nyata dengan HBASE, Hive boleh digunakan

Di mana

  • Untuk memudahkan penggunaan ETL dan alat pergudangan data
  • Untuk menyediakan persekitaran jenis SQL dan membuat pertanyaan seperti SQL menggunakan HIVEQL
  • Untuk menggunakan dan menggunakan skrip peta dan pengurang yang ditentukan khusus untuk keperluan pelanggan tertentu