Anda di halaman 1dari 22

Assignment

Group

Bambang Eko Santoso


M. Alkhairi Mashuri

Session 05
To be Submitted Week XX

COMP8025 Big Data Analytics


Jawablah pertanyaan berikut dengan jelas dan lengkapi dengan ilustrasi jika diperlukan.

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.

COMP8025 Big Data Analytics


2. Untuk hosting Hadoop dan hive menggunakan vm lokal dengan OS debian 10 yang sudah
terinstall Hadoop versi 3.3.1 dari OVA file dapat didownload dari :
https://bitnami.com/stack/hadoop/virtual-machine

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.

COMP8025 Big Data Analytics


4. Masuk ke dalam hive dengan perintah sudo hive.

5. Gunakan perintah create schema untuk membuat database sebagai tempat import database
sakila. create schema db_sakila;

Cek database telah telah terbuat dengan perintah show databases;

lalu keluar dengan perintah exit;


6. import tabel yang pertama tabel actor:
sqoop import \
--connect "jdbc:mysql://34.101.248.1:3306/sakila?autoReconnect=true&useSSL=false" \
--username root \

COMP8025 Big Data Analytics


--password 1qazxsw23EDC \
--table actor \
--hive-import \
--split-by actor_id\
--hive-table db_sakila.actor;
check pada hive database sudah terimport dengan perintah use nama database yaitu use
db_sakila; lalu select data dari table actor dengan select * from actor;

Hasilnya :

7. import tabel address, pada location tipe data geometry perlu diubah menjadi string agar
tidak failed karena geometry tidak ada pada hive

COMP8025 Big Data Analytics


:
sqoop import \
--connect "jdbc:mysql://34.101.248.1:3306/sakila?autoReconnect=true&useSSL=false" \
--username root \
--password 1qazxsw23EDC \
--table address \
--map-column-hive location=STRING \
--hive-import \
--split-by address_id\
--hive-table db_sakila.address;

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 :

COMP8025 Big Data Analytics


8. import category:
sqoop import \
--connect "jdbc:mysql://34.101.248.1:3306/sakila?autoReconnect=true&useSSL=false" \
--username root \
--password 1qazxsw23EDC \
--table category \
--hive-import \
--split-by category_id \
--hive-table db_sakila.category;

COMP8025 Big Data Analytics


check pada hive database sudah terimport dengan perintah use nama database yaitu use
db_sakila; lalu select data dari table category dengan select * from category;

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;

COMP8025 Big Data Analytics


check pada hive database sudah terimport dengan perintah use nama database yaitu use
db_sakila; lalu select data dari table city dengan select * from city;

COMP8025 Big Data Analytics


10. import country:
sqoop import \
--connect "jdbc:mysql://34.101.248.1:3306/sakila?autoReconnect=true&useSSL=false" \
--username root \
--password 1qazxsw23EDC \
--table country \
--hive-import \
--split-by country_id \
--hive-table db_sakila.country;

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;

COMP8025 Big Data Analytics


11. import customer:
sqoop import \
--connect "jdbc:mysql://34.101.248.1:3306/sakila?autoReconnect=true&useSSL=false" \
--username root \
--password 1qazxsw23EDC \
--table customer \
--hive-import \
--split-by customer_id \
--hive-table db_sakila.customer;

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;

COMP8025 Big Data Analytics


12. import film:
sqoop import \
--connect "jdbc:mysql://34.101.248.1:3306/sakila?autoReconnect=true&useSSL=false" \
--username root \
--password 1qazxsw23EDC \
--table film \
--hive-import \
--split-by film_id \
--hive-table db_sakila.film;

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;

COMP8025 Big Data Analytics


13. import film_actor:
sqoop import \
--connect "jdbc:mysql://34.101.248.1:3306/sakila?autoReconnect=true&useSSL=false" \
--username root \
--password 1qazxsw23EDC \
--table film_actor \
--hive-import \
--split-by film_id \
--hive-table db_sakila.film_actor;

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;

COMP8025 Big Data Analytics


14. import film_category:
sqoop import \
--connect "jdbc:mysql://34.101.248.1:3306/sakila?autoReconnect=true&useSSL=false" \
--username root \
--password 1qazxsw23EDC \
--table film_category \
--hive-import \
--split-by film_id \
--hive-table db_sakila.film_category;

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;

COMP8025 Big Data Analytics


15. import film_text:
sqoop import \
--connect "jdbc:mysql://34.101.248.1:3306/sakila?autoReconnect=true&useSSL=false" \
--username root \
--password 1qazxsw23EDC \
--table film_text \
--hive-import \
--split-by film_id \
--hive-table db_sakila.film_text;

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;

COMP8025 Big Data Analytics


16. import inventory:
sqoop import \
--connect "jdbc:mysql://34.101.248.1:3306/sakila?autoReconnect=true&useSSL=false" \
--username root \
--password 1qazxsw23EDC \
--table inventory \
--hive-import \
--split-by inventory_id \
--hive-table db_sakila.inventory;

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;

COMP8025 Big Data Analytics


17. import language:
sqoop import \
--connect "jdbc:mysql://34.101.248.1:3306/sakila?autoReconnect=true&useSSL=false" \
--username root \
--password 1qazxsw23EDC \
--table language \
--hive-import \
--split-by language_id \
--hive-table db_sakila.language;

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;

COMP8025 Big Data Analytics


18. import payment:
sqoop import \
--connect "jdbc:mysql://34.101.248.1:3306/sakila?autoReconnect=true&useSSL=false" \
--username root \
--password 1qazxsw23EDC \
--table payment \
--hive-import \
--split-by payment_id \
--hive-table db_sakila.payment;

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;

COMP8025 Big Data Analytics


19. import rental:
sqoop import \
--connect "jdbc:mysql://34.101.248.1:3306/sakila?autoReconnect=true&useSSL=false" \
--username root \
--password 1qazxsw23EDC \
--table rental \
--hive-import \
--split-by rental_id \
--hive-table db_sakila.rental;

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;

COMP8025 Big Data Analytics


20. import staff, untuk kolom picture berupa blob harus diganti menjadi binary

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;

COMP8025 Big Data Analytics


21. import store,
sqoop import \
--connect "jdbc:mysql://34.101.248.1:3306/sakila?autoReconnect=true&useSSL=false" \
--username root \
--password 1qazxsw23EDC \
--table store \
--hive-import \
--split-by store_id \
--hive-table db_sakila.store

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;

COMP8025 Big Data Analytics


22. untuk melihat semua nama table yang ada gunakan show tables;(ada 16 table seperti
database sumber)

COMP8025 Big Data Analytics

Anda mungkin juga menyukai