• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Introduction to ETL - Pentaho 21_23may2011
 

Introduction to ETL - Pentaho 21_23may2011

on

  • 1,136 views

สมาคมศูนบ์วิชาการไทย-ออสเตรเลีย

สมาคมศูนบ์วิชาการไทย-ออสเตรเลีย
การอบรม รุ่นที่ 2

Statistics

Views

Total Views
1,136
Views on SlideShare
1,136
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Introduction to ETL - Pentaho 21_23may2011 Introduction to ETL - Pentaho 21_23may2011 Presentation Transcript

    • ETL Pentaho Data Integration
      อาจารย์เรืองศักดิ์ ตระกูลพุทธิรักษ์
      ruangsak@swu.ac.th
      สาขาวิทยาการคอมพิวเตอร์
      ภาควิชาคณิตศาสตร์ คณะวิทยาศาสตร์
      มหาวิทยาลัยศรีนครินทรวิโรฒ
    • ETL
      stands for extract, transform and load
      a process in database usage and especially in data warehousing that involves:
      Extracting data from outside sources
      Transforming it to fit operational needs (which can include quality levels)
      Loading it into the end target (database or data warehouse)
    • Example
    • Input
    • Transform
    • Load
    • Hands-on Experience
      จำนวนนิสิตที่ลงทะเบียนในแต่ละรายวิชา
    • Demo
    • สร้างฐานข้อมูลไว้รองรับการทำงานของโปรแกรม Data Integration
      โดยในที่นี้ได้สร้างฐานข้อมูลชื่อ repository
    • เอาข้อมูลจากไหนมาทำ ETL ครับ
      ฐานข้อมูล course2550
    • สร้างฐานข้อมูลไว้เป็น input ของโจทย์
      โดยในที่นี้จะสร้างฐานข้อมูลชื่อ course2550
    • ระบุชื่อฐานข้อมูล course2550กดปุ่ม Create
    • import
    • Browse
    • เลือกไฟล์ 02course2550_forETL.sql
    • เริ่มโปรแกรม Data Integration
    • Programs > Pentaho Enterprise Edition > Design Tools > Data Integration
    • สร้าง RepositoryConnection ขึ้นใหม่
    • เริ่มจริง...จริง แล้วนะครับ
    • เลือก Repository ที่ได้สร้างไว้ Login เพื่อเข้าสู่หน้าจอการทำงาน
    • File > New > Transformation
    • ใช้ข้อมูลจากไหน?
      แล้วทำอย่างไร?
    • File > New > Database Connection
    • เริ่มกระบวนการ ETL
    • Input > Table input
    • Double Click ที่ Table input แก้ชื่อ Table input> at_course_enrollmentคลิกปุ่ม Get SQL select statement…
    • เลือกตาราง at_course_enrollment
    • เพิ่ม ORDER BY course_id
    • Statistics > Group by
      กด Shift ค้างไว้และลากเม้าส์สร้างเส้นเชื่อมโยง
    • Double Click ที่ Group by กดปุ่ม Get Fieldsกดปุ่ม Get lookup fields
    • เพิ่ม Order By เพื่ออะไร?
    • ทำ Group by เพื่ออะไร?
      Aggregates / นับจำนวนผู้เรียน
    • Transform > Select valuesสร้างเส้นเชื่อมโยง
    • Double Click ที่ Select values กดปุ่ม Get fields to selectในช่อง Rename to เปลี่ยนชื่อ member_id เป็น num_enroll
    • Selected Value เพื่ออะไร?
      เปลี่ยนชื่อ Field
    • Input > Table input
    • Double Click ที่ Table input แก้ชื่อ Table input> at_coursesคลิกปุ่ม Get SQL select statement…
    • เลือกตาราง at_courses
    • เพิ่ม ORDER BY course_id
    • Joins > Merge Join ลากเส้นเชื่อมโยง
    • Double Click ที่ Merge Join กำหนดค่าต่างๆ กด Get key fields เพื่อเลือก Keys
    • เพิ่ม Order By เพื่ออะไร?
    • Transform > Select values สร้างเส้นเชื่อมโยง
    • Double Click ที่ Select values 2 แถบเมนู Remove ช่อง Fieldname ให้ใส่ course_id_1ที่ต้องการลบทิ้ง
    • Selected Value 2เพื่ออะไร?
      ลบ Field ที่ไม่ต้องการ
    • Output > Table outputสร้างเส้นเชื่อมโยง
    • ผลลัพธ์เอาไว้ที่ไหน ?
      ตาราง o_course
      ฐานข้อมูล course2550
    • Double Click ที่ Table outputกดปุ่ม Browse ที่ Target Tableสร้างตารางใหม่ขึ้นมาชื่อว่า o_course
    • คลิกขวาตาราง at_courses (ใกล้เคียง)DDL > Use Current Connection
    • เปลี่ยนคำสั่ง SQLกดปุ่ม Execute
    • Refreshเลือกตาราง o_course
    • เลือกช่อง Truncate table กดปุ่ม OK
    • Action > Run กดปุ่ม Launch
    • Save
    • หากไม่มีข้อผิดพลาดใดๆ
    • เข้าไปดูฐานข้อมูล MySQL ในตาราง o_course
    • ลองดู feature อื่นๆเล็กน้อย ครับ
    • Excel Output
    • Google Docs
    • Promotion…..Free – Buy 1 Get 1 !!!
      โจทย์
      เรยา : ช่วยทำข้อมูลรายวิชาแยกตามคณะ ลงไฟล์ Excel ให้ฉันหน่อยนะ
      คุณชายใหญ่ : เดี๋ยวปรึกษาหม่าม้า Pentaho ก่อนนะ
      เรยา : ถ้าทำส่งให้ทุกเดือนได้ ฉันจะไม่มากวนใจ คุณชายใหญ่ที่บ้านคุณดี๋อีกเลยนะ
    • ข้อมูลอยู่คนละฐานข้อมูล
      ควรทำอย่างไร
    • File > New > Database Connection
    • Input > Table input
    • Double Click ที่ Table input แก้ชื่อ Table input> course_factคลิกปุ่ม Get SQL select statement…
    • เลือกตาราง course_fact
    • เพิ่ม ORDER BY course_id
    • Joins > Merge Join ลากเส้นเชื่อมโยง
    • Double Click ที่ Merge Join กำหนดค่าต่างๆ กด Get key fields เพื่อเลือก Keys
    • Transform > Select values สร้างเส้นเชื่อมโยง
    • Double Click ที่ Select values 3 แถบเมนู Select & Alterช่อง Fieldname ให้เลือกเฉพาะ field ที่ต้องการ
    • Flow > Switch / Case สร้างเส้นเชื่อมโยง
    • Double Click ที่ Switch / Caseช่อง Filed name to switch > fac_idช่อง Case value data type > BigNumberช่อง ใส่ค่า 100 200
    • Output > Excel Outputสร้างเส้นเชื่อมโยงเลือก The case target for value ‘100’
    • Step name > ScienceBrowse… > science.xlsExtension > ลบ xls ออก
    • Output > Excel Outputสร้างเส้นเชื่อมโยงเลือก The case target for value ‘200’
    • Step name > HumanitiesBrowse… > humanities.xlsExtension > ลบ xls ออก
    • Output > Excel Outputสร้างเส้นเชื่อมโยงเลือก The default target step
    • Step name > OtherBrowse… > other.xlsExtension > ลบ xls ออก