Assignment: Group
Assignment: Group
Group
Session 05
To be Submitted Week XX
Lakukan Data Ingestion dari database MySQL ke platform Big Data. Gunakan database Sakila
yang dapat diperoleh di https://dev.mysql.com/doc/sakila/en/ sebagai sumber data, ekspor semua
tabel pada dabase sumber ke Hive database pada Big Data. Silahkan gunakan perangkat lunak
yang sesuai untuk melakukan proses Data Ingestion. Tunjukkan hasil ekspor data dengan
melakukan query untuk seluruh tabel pada database Hive.
1. Database sakila diimport ke database mysql terlebih dahulu, untuk tugas ini database
tersimpan di cloud dengan koneksi jdbc:mysql://34.101.248.1:3306/sakila, username root
dan password 1qazxsw23EDC. Ada 16 tabel pada database tersebut.
3. Untuk mengimport data dari mysql ke hive menggunakan software sqoop dari referensi
https://bigdataprogrammers.com/import-data-from-mysql-into-hive-using-sqoop/ untuk
itu diperlukan penginstallan sqoop pada vm lokal tersebut. Referensi instalasi dapat dilihat
dari https://www.edureka.co/community/39201/sqoop-installation-on-linux. Terdapat
beberapa library yang dapat dicari di internet yang perlu ditambahkan pada
$SQOOP_HOME/lib yaitu :
a. avro-1.8.1.jar
b. commons-lang-2.6.jar
c. hive-common-3.1.2.jar
d. sqoop-1.4.7-hadoop260.jar
check sqoop sudah berjalan dengan perintah sqoop version, warning dapat diabaikan.
pastikan /tmp/hadoop folder sudah mempunyai akses 777 agar import dapat berjalan
dengan lancar.
5. Gunakan perintah create schema untuk membuat database sebagai tempat import database
sakila. create schema db_sakila;
Hasilnya :
7. import tabel address, pada location tipe data geometry perlu diubah menjadi string agar
tidak failed karena geometry tidak ada pada hive
check pada hive database sudah terimport dengan perintah use nama database yaitu use
db_sakila; lalu select data dari table address dengan select * from address;
Hasilnya :
9. import city:
sqoop import \
--connect "jdbc:mysql://34.101.248.1:3306/sakila?autoReconnect=true&useSSL=false" \
--username root \
--password 1qazxsw23EDC \
--table city \
--hive-import \
--split-by city_id \
--hive-table db_sakila.city;
check pada hive database sudah terimport dengan perintah use nama database yaitu use
db_sakila; lalu select data dari table country dengan select * from country;
check pada hive database sudah terimport dengan perintah use nama database yaitu use
db_sakila; lalu select data dari table customer dengan select * from customer;
check pada hive database sudah terimport dengan perintah use nama database yaitu use
db_sakila; lalu select data dari table film dengan select * from film;
check pada hive database sudah terimport dengan perintah use nama database yaitu use
db_sakila; lalu select data dari table film_actor dengan select * from film_actor;
check pada hive database sudah terimport dengan perintah use nama database yaitu use
db_sakila; lalu select data dari table film_category dengan select * from film_category;
check pada hive database sudah terimport dengan perintah use nama database yaitu use
db_sakila; lalu select data dari table film_text dengan select * from film_text;
check pada hive database sudah terimport dengan perintah use nama database yaitu use
db_sakila; lalu select data dari table inventory dengan select * from inventory;
check pada hive database sudah terimport dengan perintah use nama database yaitu use
db_sakila; lalu select data dari table language dengan select * from language;
check pada hive database sudah terimport dengan perintah use nama database yaitu use
db_sakila; lalu select data dari table payment dengan select * from payment;
check pada hive database sudah terimport dengan perintah use nama database yaitu use
db_sakila; lalu select data dari table rental dengan select * from rental;
sqoop import \
--connect "jdbc:mysql://34.101.248.1:3306/sakila?autoReconnect=true&useSSL=false" \
--username root \
--password 1qazxsw23EDC \
--table staff \
--map-column-hive picture=binary \
--hive-import \
--split-by staff_id \
--hive-table db_sakila.staff;
check pada hive database sudah terimport dengan perintah use nama database yaitu use
db_sakila; lalu select data dari table staff dengan select * from staff;
check pada hive database sudah terimport dengan perintah use nama database yaitu use
db_sakila; lalu select data dari table store dengan select * from store;