Note :: เรียนรู้ Pentaho Data Integration ( PDI )
Posted by
up1
,
in
pentaho
10 March 2012
·
1626 views
pentaho pdi
ได้มีโอกาสเข้าเรียน Pentaho แบบฟรีๆ ที่ TARAD.com ซึ่งสอนโดย @roofimon ซึ่งสิ่งที่เรียนประกอบไปด้วย
Data Warehouse คืออะไร
เป็นการนำข้อมูลที่มีอยู่ เช่นจาก database ไปวิเคราะห์ ( Analytic ) และทำรายงาน ( Reporting ) โดยโครงสร้างเป็นดังนี้
จากภาพ จะเห็นได้ว่า ข้อมูลจะมาจากระบบต่างๆ มีรูปแบบของข้อมูลที่เหมือนหรือแตกต่างกันทั้งข้อมูลและโครงสร้าง จะนำข้อมูลเหล่านั้นเขามายัง Data Warehouse จะต้องทำผ่าน ETL ( Extract Transformation Loading ) โดยข้อมูลจะถูกนำไปวิเคราะห์และทำรายงาน และต่อจากนั้นจะนำข้อมูลไปทำเรื่อง Data Mart/ Data Mining ต่อไป
การออกแบบ Data Warehouse จะมีอยู่ 2 วิธีคือ
Pentaho จะเตรียมเครื่องมือต่างๆ ไว้ให้ดังนี้
ในการใช้งาน Kettle นั้น มีขั้นตอนดังนี้
1. ทำการ download file จากที่นี่
2. ทำการ extract file
3. ทำการ run file spoon.bat หรือ spoon.sh ซึ่งจะแสดงผลดังนี้
ส่วน Workshop ที่มีในการเรียนครั้งนี้ประกอบไปด้วย
1.การ load ข้อมูล Input จาก text file ทั้งปกติ และแบบ fix
2.การ transform หรือแปลง Input ไปยัง Output ตามที่ต้องการ ซึ่งประกอบไปด้วย
ส่วนการบ้านหลังจากการเรียน คือ การแปลงข้อมูลตำบล อำเภอและจังหวัด จากกรมการปกครอง โดยข้อมูลที่ได้มานั้น จะมีรูปแบบดังนี้
ผลที่ต้องการก็คือ
1. ข้อมูลจังหวัด
2. ข้อมูลอำเภอของแต่ละจังหวัด
3. ข้อมูลตำบล ของแต่ละอำเภอและจังหวัด
ขั้นตอนการ transform ข้อมูลในแบบที่ผมทำ เป็นดังนี้
1. จากข้อมูลดังกล่าว ข้อมูลจังหวัดมีรูปแบบดังนี้
ดังนั้น ข้อมูลแต่ละตัวจะอยู่จังหวัดไหน จะใช้สูตร X/100000 แล้วนำผลลัพธ์ที่เป็นจำนวนเต็มมาคูณด้วย 100000 จะได้หมายเลขของจังหวัดในแต่ละอำเภอ และ ตำบล
2. จากข้อมูลดังกล่าว ข้อมูลอำเภอมีรูปแบบดังนี้
ดังนั้น ข้อมูลแต่ละตัวจะอยู่อำเภอไหน จะใช้สูตร X/10000 แล้วนำผลลัพธ์ที่เป็นจำนวนเต็มมาคูณด้วย 10000 จะได้หมายเลขของอำเภอในแต่ละตำบล
ใช้ Calculator ได้ดังรูป
โดยผลการทำงานเป็นดังรูป
และต่อจากผลลัพธ์ดังกล่าว จะต้องนำไปผ่านการ grouping และ filter เพื่อนำข้อมูลไปใช้งานต่อไป
Reference Website
Wikipedia :: Data warehouse
Pentaho Data Integration (Kettle)
Pentaho Data Integration 4 Cookbook
Pentaho 3.2 Data Integration: Beginner's Guide
Pentaho Kettle Solutions: Building Open Source ETL Solutions with Pentaho Data Integration
Data Warehouse คืออะไร
เป็นการนำข้อมูลที่มีอยู่ เช่นจาก database ไปวิเคราะห์ ( Analytic ) และทำรายงาน ( Reporting ) โดยโครงสร้างเป็นดังนี้
จากภาพ จะเห็นได้ว่า ข้อมูลจะมาจากระบบต่างๆ มีรูปแบบของข้อมูลที่เหมือนหรือแตกต่างกันทั้งข้อมูลและโครงสร้าง จะนำข้อมูลเหล่านั้นเขามายัง Data Warehouse จะต้องทำผ่าน ETL ( Extract Transformation Loading ) โดยข้อมูลจะถูกนำไปวิเคราะห์และทำรายงาน และต่อจากนั้นจะนำข้อมูลไปทำเรื่อง Data Mart/ Data Mining ต่อไป
การออกแบบ Data Warehouse จะมีอยู่ 2 วิธีคือ
- Top-down
- Bottom-up
Pentaho จะเตรียมเครื่องมือต่างๆ ไว้ให้ดังนี้
- Design Studio (PDS)
- Meta Editor (PME)
- Schema Workbench (PSW)
- Aggregate Designer (PAD)
- Report Design (PRD)
- Spoon or Date Integration (PDI)
- Weka สำหรับการทำ Data Mining
ในการใช้งาน Kettle นั้น มีขั้นตอนดังนี้
1. ทำการ download file จากที่นี่
2. ทำการ extract file
3. ทำการ run file spoon.bat หรือ spoon.sh ซึ่งจะแสดงผลดังนี้
ส่วน Workshop ที่มีในการเรียนครั้งนี้ประกอบไปด้วย
1.การ load ข้อมูล Input จาก text file ทั้งปกติ และแบบ fix
2.การ transform หรือแปลง Input ไปยัง Output ตามที่ต้องการ ซึ่งประกอบไปด้วย
- การ split หรือแบ่งข้อมูลตามตัวคั่นต่างๆ เช่น - เป็นต้น
- การคำนวณต่างๆ ซึ่งประกอบไปด้วย Calculator, Formula และ Javascript
- การจัดเรียงลำดับของข้อมูล ตาม column ที่กำหนด
- การจัดกลุ่มของข้อมูล
- การนำจำนวนตามกลุ่มของข้อมูล
ส่วนการบ้านหลังจากการเรียน คือ การแปลงข้อมูลตำบล อำเภอและจังหวัด จากกรมการปกครอง โดยข้อมูลที่ได้มานั้น จะมีรูปแบบดังนี้
Quote
10000000|กรุงเทพมหานคร|
10010000|เขตพระนคร|
10010100|พระบรมมหาราชวัง|
10010200|วังบูรพาภิรมย์|
10010300|วัดราชบพิธ|
10010400|สำราญราษฎร์|
10010500|ศาลเจ้าพ่อเสือ|
10010000|เขตพระนคร|
10010100|พระบรมมหาราชวัง|
10010200|วังบูรพาภิรมย์|
10010300|วัดราชบพิธ|
10010400|สำราญราษฎร์|
10010500|ศาลเจ้าพ่อเสือ|
ผลที่ต้องการก็คือ
1. ข้อมูลจังหวัด
2. ข้อมูลอำเภอของแต่ละจังหวัด
3. ข้อมูลตำบล ของแต่ละอำเภอและจังหวัด
ขั้นตอนการ transform ข้อมูลในแบบที่ผมทำ เป็นดังนี้
1. จากข้อมูลดังกล่าว ข้อมูลจังหวัดมีรูปแบบดังนี้
10000000 20000000 30000000
ดังนั้น ข้อมูลแต่ละตัวจะอยู่จังหวัดไหน จะใช้สูตร X/100000 แล้วนำผลลัพธ์ที่เป็นจำนวนเต็มมาคูณด้วย 100000 จะได้หมายเลขของจังหวัดในแต่ละอำเภอ และ ตำบล
2. จากข้อมูลดังกล่าว ข้อมูลอำเภอมีรูปแบบดังนี้
Quote
10000000|กรุงเทพมหานคร|
10010000|เขตพระนคร|
10020000|เขตดุสิต|
10010000|เขตพระนคร|
10020000|เขตดุสิต|
ใช้ Calculator ได้ดังรูป
โดยผลการทำงานเป็นดังรูป
และต่อจากผลลัพธ์ดังกล่าว จะต้องนำไปผ่านการ grouping และ filter เพื่อนำข้อมูลไปใช้งานต่อไป
Reference Website
Wikipedia :: Data warehouse
Pentaho Data Integration (Kettle)
Pentaho Data Integration 4 Cookbook
Pentaho 3.2 Data Integration: Beginner's Guide
Pentaho Kettle Solutions: Building Open Source ETL Solutions with Pentaho Data Integration











