ตารางแบบ orc บน hadoop-hive (sql-like) สําหรับ ... ·...
TRANSCRIPT
ตารางแบบ ORC บน Hadoop-Hive (SQL-like) สําหรับประมวลผลขอมลู Big Data
วิทยากร : นายกฤษณวรา รัตนโอภาส
นางสาวสุรีรัตน แกวคีรีมหาวิทยาลัยราชภัฏสงขลา
1
Outline
1. การสรางขอมูล Big Data แบบ RDBMS
2. Hadoop สําหรับใช ประมวลผล Big Data แบบ RDBMS
3. การออกแบบและทดสอบ
4. ผลการทดสอบ
2
Outline
1. การสรางขอมูล Big Data แบบ RDBMS
2. Hadoop สําหรับใช ประมวลผล Big Data แบบ RDBMS
3. การออกแบบและทดสอบ
4. ผลการทดสอบ
3
1. การสรางขอมูล Big Data แบบ RDBMS
• ความตองการประมวลผลขอมูลขนาดใหญที่ > 1,000 ลาน
• ฐานขอมูล RDBMS สําหรับ Big Data ลักษณะ Mysql-MariaDB บน Hive-warehouse
4
Outline
1. การสรางขอมูล Big Data แบบ RDBMS
2. Hadoop สําหรับใช ประมวลผล Big Data แบบ RDBMS
3. การออกแบบและทดสอบ
4. ผลการทดสอบ
5
2. Hadoop สําหรับใช ประมวลผล Big Data แบบ RDBMS
2.1 Hadoop ecosystem
2.2 Hadoop Hive
2.3 Hive-CLI
2.4 Hiveserver2
2.5 ORC-file format
6
2.1 Hadoop ecosystem
• Hadoop Ecosystem ทํางานบน HDFS Cluster ที่ใหบริการดวย Hbase, Hive, R-connectors, Mahout, Pig และ Oozie
7
องคประกอบของ Hadoop Ecosystem
2.1 Hadoop ecosystem(ตอ)
• HDFS Cluster ป ร ะ กอบด ว ย Master Node แล ะกลุ ม Cluster ของ Data Node เพื่อสราง Cloud Storage ของ HDFS และมี YARN Map/Reduce Version 2 อยูเบื้องหลังการทํางาน
8
องคประกอบของ Hadoop Ecosystem
2.2 Hadoop Hive
• Hive 1.2.1 และปจจุบันรุน 2.1.0 โดย HiveQL คลายคลึงกับ SQL ทั่วไป เพื่อใหสามารถรองรับการประมวลผลขอมูลเชิงสัมพันธที่มีความตองการใชงานอยางตอเนื่อง
9
2.3 Hive-CLI
• Hive console ออกแบบมาเพื่อใหผูใชสามารถเขาถึงฐานขอมูล Hive datawarehouse ที่ เครื่อง Master ดวยรูปแบบ command line ของภาษา SQL
10
รูปแบบของการใชงาน Hive console
2.4 Hiveserver2
• นอกเหนือจากการใหใชงานผาน Hive-CLI โปรแกรม Hive มีสวนเสริมคือ Hiveserver2 ที่มีโครงสรางการบริการ
11
การบริการดวย Hiveserver2
2.5 ORC-file format
• ดวยการทํางานแบบ Cluster จึงมีการพัฒนารูปแบบการเก็บขอมูลเพื่อเสริมประสิทธิภาพใหกับ Hadoop-Hive Cluster โดยมี Text RCFile Parquet และ ORCFile ที่มีอัตราบีบอัดที่แตกตางกัน
12
องคประกอบของ Hadoop Ecosystem
2.5 ORC-file format (ตอ)
• ตัวอยางเนื้อที่เก็บไฟลของตารางขอมูลแบบ ORC ดวยการบีบอัดของ NONE, ZLIB and SNAPPY ตามจํานวนขอมูล
13
- 2,000 4,000 6,000 8,000 10,000 12,000
50
150
250
350
Size (MBytes)
Row
(m
illi
on r
ecor
ds)
ORC(SNAPPY) ORC(ZLIB) ORC(NONE)
ขนาดไฟลของฐานขอมูลตามประเภทการบีบอัด
Outline
1. การสรางขอมูล Big Data แบบ RDBMS
2. Hadoop สําหรับใช ประมวลผล Big Data แบบ RDBMS
3. การออกแบบและทดสอบ
4. ผลการทดสอบ
14
3. การออกแบบและทดสอบ
• โครงสรางทดสอบ Hadoop-Hive cluster architecture
• การทดสอบดวยภาระงาน bigdata’s RDBMS
• ชุดคําสั่ง Queries
15
โครงสรางทดสอบ Hadoop-Hive cluster architecture
Host OS: KVM platforms run on CentOS 7.2 64 bits. • Master Node employs 3 vCPU and 3 GB RAM• Data Node involves 3 virtual machine on each Host
with 1 vCPU and 1.5 GB RAM
16Figure 4. Hadoop-Hive cluster Architecture
Intel i7-2600 Quad core @ 3.40 GHz which support Intel-VT, 4 GB DDR3, 1.0 TB SATA disks and RTL8111 Gigabit Ethernet
การทดสอบดวยภาระงาน bigdata’s RDBMS
Bigdata’s RDBMS has database schema: • station code • station name• record date as “datefield” • precipitation weather as “prcp” • maximum temperature as “tmax”• minimum temperature as “tmin”
17
Field stationcode(Primary Key)
station datefield prcp tmax tmin
Type STRING STRING DATE-TIME DOUBLE DOUBLE DOUBLE
Table 1 weather station table schema
ชุดคําสั่ง Queries
Case 1: หาคาสูงสุดของ “tmax” สรุปแยกแตละวัน“SELECT station, datefield, MAX(tmax) FROM weather_orc GROUP BY station, datefield”;Case 2: หาคาเฉลี่ยของ “tmax” แยกตามสถานีรายป“SELECT station, cast(SUBSTR(datefield,1,4) as INT), AVG(tmax) FROM weather_orc_tmp GROUP BY station, cast(SUBSTR(datefield,1,4) as INT); ”Case 3: นําผลลัพธทั้ง 2 ตารางมาทําการ JOIN
18
Outline
1. การสรางขอมูล Big Data แบบ RDBMS
2. Hadoop สําหรับใช ประมวลผล Big Data แบบ RDBMS
3. การออกแบบและทดสอบ
4. ผลการทดสอบ
19
4. ผลการทดสอบ
• Experiment I (Query case I)
• Experiment II (Query case II)
• Experiment III (Query case III)
20
Experiment I (Query case I)
ผลลัพธการประมวลผลเปนวินาทีของจํานวนขอมูล 50, 150, 250 and 350 ลานชุด ระหวางจํานวนโหนด 3 และ 9
21Figure 5. Experiment I on Case 1 query suite
Map/Reduce increasing follow-up million table rows
-
1,000
2,000
3,000
4,000
5,000
6,000
3-node(ZLIB) 3-node(SNAPPY) 6-node(ZLIB) 6-node(SNAPPY) 9-node(ZLIB) 9-node(SNAPPY)
Exe
cuti
on
tim
e (s
ec)
Number of data node / Type of Compress
CASE 01-50-million CASE 01-150-million CASE 01-250-million CASE 01-350-million
3-node(ZLIB) 3-node(SNAPPY) 6-node(ZLIB) 6-node(SNAPPY) 9-node(ZLIB) 9-node(SNAPPY)50-m 150-m 50-m 150-m 150-m 250-m 150-m 250-m 250-m 350-m 250-m 350-mM/R M/R M/R M/R M/R M/R M/R M/R M/R M/R M/R M/R1/1 2/3 2/3 4/5 2/3 4/5 4/5 7/8 4/5 7/7 7/8 11/11
Experiment II (Query case II)
ผลลัพธการประมวลผลเปนวินาทีของจํานวนขอมูล 50, 150, 250 and 350 ลานชุด ระหวางจํานวนโหนด 3 และ 9
22Figure 6. Experiment II on Case 2 query suite
-
50
100
150
200
250
300
350
400
450
3-node(ZLIB) 3-node(SNAPPY) 6-node(ZLIB) 6-node(SNAPPY) 9-node(ZLIB) 9-node(SNAPPY)
Ex
ecu
tio
n t
ime
(sec
)
Number of data node / Type of Compress
CASE 02-50-million CASE 02-150-million CASE 02-250-million CASE 02-350-million
3-node(ZLIB) 3-node(SNAPPY) 6-node(ZLIB) 6-node(SNAPPY) 9-node(ZLIB) 9-node(SNAPPY)
50-m 150-m 50-m 150-m 150-m 250-m 150-m 250-m 250-m 350-m 250-m 350-m
M/R M/R M/R M/R M/R M/R M/R M/R M/R M/R M/R M/R
1/1 2/1 2/1 4/1 2/1 4/1 4/1 7/1 4/1 7/2 7/1 11/2
Map/Reduce increasing follow-up million table rows
Experiment III (Query case III)
ผลลัพธในรูปแบบเดียวกับกราฟที่ 1 และ 2
23Figure 7. Experiment III on Case 3 query suite
-
50
100
150
200
250
300
350
3-node(ZLIB) 3-node(SNAPPY) 6-node(ZLIB) 6-node(SNAPPY) 9-node(ZLIB) 9-node(SNAPPY)
Ex
ecu
tio
n t
ime
(sec
)
Number of data node / Type of Compress
CASE 03-50-million CASE 03-150-million CASE 03-250-million CASE 03-350-million
3-node(ZLIB) 3-node(SNAPPY) 6-node(ZLIB) 6-node(SNAPPY) 9-node(ZLIB) 9-node(SNAPPY)50-m 150-m 50-m 150-m 150-m 250-m 150-m 250-m 250-m 350-m 250-m 350-mM/R M/R M/R M/R M/R M/R M/R M/R M/R M/R M/R M/R1/0 2/1 2/1 4/1 2/1 4/2 4/1 7/2 4/2 11/1 7/2 11/1
Map/Reduce increasing follow-up million table rows
โปรแกรม Squirrel SQL
• โปรแกรมท่ีเชื่อมตอจาก Client เขาสู Hive ผาน JDBC Driver
• ทํางานผาน Hiverserver2 เชนเดียวกับ beeline
25
รูปแบบการเชื่อมตอดวย Squirrel SQL
Any Questions
26