แนวทางปฏิบัติที่ดีที่สุดในการพัฒนาโฟลว์การเตรียมข้อมูล
มาเรียนรู้เกี่ยวกับการออกแบบแนวทางปฏิบัติสำหรับการใช้งาน Tableau Prep Flows เพื่อเพิ่มความเร็วในการใช้งานของคุณ
Tableau Prep คือเครื่องมือเตรียมข้อมูลพลเมืองที่นำเอาการวิเคราะห์มาสู่ทุกๆคนในทุกๆ หนแห่ง ด้วย Prep ผู้ใช้จะสามารถรวบรวม, ปรับรูปแบบ และล้างข้อมูลเพื่อการวิเคราะห์ได้อย่างรวดเร็วและง่ายดายผ่านการคลิกเพียงไม่กี่ครั้ง
ในบทความนี้ จะมาพูดถึงวิธีการที่จะทำให้โฟลว์ในการเตรียมข้อมูลของคุณรันได้รวดเร็วยิ่งขึ้น เคล็ดลับเหล่านี้สามารถนำไปใช้ได้กับ Prep Flows ทุกรูปแบบ แต่จะใช้งานได้ดีที่สุดกับโฟลว์ที่เชื่อมต่อกับตารางฐานข้อมูลขนาดใหญ่ เคล็ดลับมีดังนี้
นำเข้าเพียงข้อมูลที่จำเป็น
ยิ่งคุณนำเข้าข้อมูลสู่โฟลว์การเตรียมข้อมูลมากเท่าไหร่ ค่าใช้จ่ายในการคำนวนข้อมูลก็ยิ่งแพงขึ้นเท่านั้น ทางเดียวที่เรียบง่ายและมีประสิทธิภาพสูงในการร่นระยะเวลาที่ Prep ต้องใช้โหลดข้อมูลและรันโฟลว์ของคุณได้แก่การนำเข้าเพียงข้อมูลที่จำเป็นเท่านั้น
มาลองดูตัวอย่างการใช้งานจริงของ Tableau Data Set ตารางฐานข้อมูลนี้ -ย้อนกลับไปเมื่อปี 2019 มีข้อมูลมากถึง 14.5 พันล้านบันทึก! โดยทั่วไปเป็นการวิเคราะห์ข้อมูลเก่า (ในกรณีนี้คือข้อมูลเมื่อห้าปีที่แล้ว) นั้นคือข้อมูลที่ไม่มีความจำเป็นแล้ว การทำเช่นนี้จะไปเพิ่มระยะเวลาในการโหลดข้อมูลและรันโฟลว์มากขึ้นอย่างมีนัยยะ ในตัวอย่างที่กล่าวมานี้กว่า SQL Query จะสำเร็จต้องใช้เวลาถึง 38 นาทีในพอร์ทัลฐานข้อมูลดั้งเดิม
กรองข้อมูลตั้งแต่ Input
คุณช่วยให้ Prep ทำงานเร็วขึ้นได้ด้วยการลบคอลัมน์และกรองข้อมูลที่ไม่ได้ใช้งานออกจากเวิร์กโฟลว์ในขั้น Input ได้เลย ขึ้นตอนนี้ช่วยการันตีว่าจะไม่มีข้อมูลที่ไม่จำเป็นโหลดเข้ามาในหน่วยความจำ ในขณะที่คุณกำลังเขียน Prep Flow และยังช่วยจำกัดจำนวนข้อมูลที่ต้องกรอกเมื่อรัน Prep Flow อีกด้วย การทำเช่นนี้ในขั้นตอนหลัง Input เช่น ในขั้นตอนการล้างข้อมูลนั้นให้ประโยชน์แตกต่างกันอย่างสิ้นเชิง เรียนรู้เพิ่มเติมเกี่ยวกับวิธีการทำงานหลังบ้านของ Prep ได้ในบทความนี้
ด้วย Tableau Prep 2023.1 release คุณสามารถเลือกทั้งหมดและลบคอลัมน์ทีละหลายๆ คอลัมน์ได้ในทีเดียว
การสุ่มตัวอย่าง
ตามค่าเริ่มต้น ขณะกำลังเขียนโฟลว์ Prep จะสุ่มตัวอย่างอัตโนมัติเพื่อจำกัดจำนวนข้อมูลที่ใช้ประมวลผล เมื่อคุณเริ่มรันโฟลว์ การเปลี่ยนแปลงจะเกิดขึ้นกับชุดข้อมูลทั้งหมด แต่ไม่รวมตัวอย่างคุณจึงสามารถทำงานเสร็จได้โดยมีชุดข้อมูลที่ใสสะอาดพร้อมใช้ในการวิเคราะห์ต่อไป
อัลกอริทึมที่ใช้ในการกำหนดขนาดตัวอย่างจะคำนวณจำนวนแถวสูงสุด ตามจำนวนคอลัมน์ในขั้นตอน Input และประเภทของข้อมูลตามลำดับ ส่วนมากจำนวนแถวสูงสุดจะมีมากกว่าจำนวนแถวของชุดข้อมูลของคุณ หากเป็นเช่นนั้น การสุ่มตัวอย่างจะไม่เกิดขึ้น โดยจะมีสัญลักษณ์แสดงให้เห็นเมื่อมีการสุ่มตัวอย่างเกิดขึ้น
คุณอาจจะพอเดาได้อยู่แล้วว่า อัลกอริทึ่มที่กำหนดจำนวนแถวสูงสุดนั้นค่อนข้างมีความซับซ้อน เราสามารถใช้การศึกษา Heuristic เพื่ออธิบายพฤติกรรมดังกล่าวได้ ในทุกกรณีปกติจำนวนแถวจะจำกัดไว้ที่ประมาณ 1 ล้านแถว โดยชนิดของข้อมูลส่วนใหญ่ ชุดข้อมูลของคุณอาจมีได้ถึง 4 คอลัมน์แต่อย่างไรก็ตามจะไม่เกิน 1 ล้านแถว ถ้าชุดข้อมูลของคุณมี 8 คอลัมน์ จำนวนแถวสูงสุดก็จะถูกแบ่งเป็น 500,000 แถว ถ้าชุดข้อมูลของคุณมี 16 คอลัมน์ จำนวนแถวจะถูกแบ่งอีกครั้งเหลือเพียง 250,000 เช่นนี้ไปเรื่อยๆ เพื่อที่จะเพิ่มจำนวนสูงสุดของแถวคุณจะต้องล้างคอลัมน์ที่ไม่จำเป็นออกในขั้นตอน Input นั่นเอง
เมื่อใช้การสุ่มตัวอย่าง แถวบนสุดที่จัดเรียงตามลำดับแถวต้นทางจะถูกกำหนดค่าและแนบท้ายเป็นแถวที่แคชเรียบร้อยแล้ว หากคุณต้องการตัวอย่างที่แสดงตัวตนมากขึ้น คุณก็สามารถเปลี่ยนวิธีการสุ่มตัวอย่างให้เป็นแบบแรนดอมได้ในแท็บ Data Sample ในขั้นตอน Input
หากต้องการปรับแต่งตัวอย่างให้ละเอียดยิ่งขึ้นอีก คุณสามารถตั้งค่าการกรองได้ในขั้น Input ยกตัวอย่างเช่น หากคุณสนใจเพียงสัญญาซื้อขายที่สำเร็จเมื่อปี 2022 ในกรณีนี้ การตั้งค่ากรองข้อมูลของสัญญาซื้อขายปี 2022 ในขั้น Input จะบังคับให้การสุ่มตัวอย่างถูกใช้เฉพาะสัญญาเหล่านั้นแทนที่จะใช้กับสัญญาของทุกปี
บ่อยครั้งที่ข้อมูลของคุณต้องการเพียงแค่การปรับโครงสร้างระดับสูงเท่านั้น ซึ่งไม่จำเป็นต้องใช้ insight กับข้อมูลทุกๆแถว สมมติว่าคุณต้องการเปลี่ยนแถวเป็นคอลัมน์หรือรวมตารางสองสามตารางเข้าด้วยกัน ในสถานการณ์แบบนี้ คุณสามารถลดขนาดตัวอย่างได้โดยระบุเจาะจงจำนวนแถวให้เล็กลง เช่น 100 แถวในแท็บ Data Sample ภายในขั้นตอน Input นั่นเอง
พิจารณาชนิดของข้อมูล
ข้อมูลใด ๆ ก็ตามที่นำเข้ามาใน Prep จะถูกแยกประเภทข้อมูล Prep จะทำการคาดเดาอย่างมีความรู้ให้ อย่างไรก็ตามคุณก็สามารถเปลี่ยนแปลงการจัดประเภทนี้ได้ สำหรับ Prep ชนิดข้อมูลแบบตัวเลขและแบบบูล (Boolean Data Type) จะง่ายต่อการสืบค้นมากกว่าแบบสตริง เนื่องจากมีค่าความเป็นไปได้ให้วิเคราะห์น้อยกว่า เช่น คุณอาจมี ID ตัวเลขในข้อมูลของคุณที่ Prep ได้จัดเป็นชนิดข้อมูลสตริงแทนที่จะเป็นชนิดตัวเลข คุณสามารถเปลี่ยนชนิดของข้อมูลจากสตริงมาเป็นตัวเลขได้ (ทั้งหมด) เพื่อลดเวลาการสืบค้นในขั้นตอน Input หรือขั้นตอนที่ตามมาตลอดทั้งโฟลว์
กำหนดวัตถุประสงค์หมายของโฟลว์
ในการออกแบบ Prep Flow ของคุณ วัตถุประสงค์หลักที่ต้องคำนึงถึงมีเพียงไม่กี่อย่าง ลองพิจารณาแบ่งขั้นตอนของคุณแยกโฟลว์ออกจากกัน เพื่อจัดระเบียบงาน หากไม่มีความจำเป็นในกระบวนการล้างข้อมูลในโฟลว์เดียว ขั้นตอนหรือโฟลว์ที่คุณแยกเอาไว้สามารถนำกลับมารวมกันได้ในภายหลังผ่านขั้นตอน Join หรือ Union คุณยังใช้งาน Tableau Prep Conductor เพื่อจัดตารางงานให้รันต่อเนื่องกันตามลำดับได้ด้วย Linked Tasks หมายเหตุ Prep Conductor เป็น Add-On และได้รับใบอนุญาตจาก Tableau Data Management
ใช้ประโยชน์จากการรีเฟรชส่วนเพิ่มเติม
ด้วยการแยกส่วนที่เพิ่มเติมเข้ามา คุณจะสามารถกำหนดค่าโฟลว์ของคุณให้รีเฟรชเฉพาะส่วนเพิ่มเติม หมายความว่า เมื่อมีการรีเฟรชโปรแกรมจะดึงเฉพาะข้อมูลที่เพิ่มเข้ามาใหม่เท่านั้น การรีเฟรชส่วนเพิ่มเติมช่วยลดเวลาและทรัพยากร โดยเฉพาะอย่างยิ่งในเอาท์พุตขนาดใหญ่ๆ แน่นอนว่าคุณยังสามารถกำหนดเวลาการรีเฟรชข้อมูลทั้งหมดได้ด้วย ยกตัวอย่างเช่น ตั้งค่าเป็นรายสัปดาห์หรือรายเดือน เป็นต้น
สมมติว่าคุณมีข้อมูลธุรกรรมอยู่ ซึ่งประกอบด้วยข้อมูลใบสั่งขายรายวันเป็นเดือนๆ เก็บในชุดข้อมูลที่จะต้องมีการอัพเดตด้วยข้อมูลใหม่ในทุกๆ วัน ต่อไปนี้แทนที่จะต้องอัพเดตประวัติข้อมูลเก่าในโฟลว์ของคุณ คุณเพียงต้องอัพเดตข้อมูลแถวใหม่เท่านั้น Prep จะช่วยประหยัดทั้งเวลาและทรัพยากรด้วยการดึงเฉพาะข้อมูลส่วนเพิ่มเติมออกมา ให้คุณประมวลผลเพียงข้อมูลใหม่ในแต่ละวันแทนที่จะต้องประมวลชุดข้อมูลทั้งหมดในทุกครั้งที่มีการรีเฟรชโฟลว์
หยุดโฟลว์ชั่วคราว
ในบางครั้งคุณก็ไม่ได้ต้องการฟีดแบคทันทีทันใดในขณะกำลังเขียนโฟลว์ของคุณ หากคุณต้องการเปลี่ยนแปลงโฟลว์เพียงเล็กน้อยโดยที่ไม่ต้องใช้ฟีดแบค คุณก็สามารถหยุดโฟลว์ไว้ชั่วคราวได้ เพียงแต่อาจจะไม่ได้เห็นผลการหยุดในทันที เมื่อโฟลว์ของคุณหยุดลง การอัพเดตแบบโต้ตอบจะถูกหยุดไว้ชั่วคราว แต่โครงสร้างฐานข้อมูล (Data Schemas) จะยังคงทำงานอยู่
พิจารณาชนิดของแฟ้มข้อมูลเอาต์พุต
การใช้งานในขั้นตอน Output นั้น คุณสามารถกำหนดค่า Prep flow ของคุณเป็นข้อมูล Output ได้หลากหลายจุดหมายด้วยกัน รวมไปถึง Databases, CSV Files, และ Tableau Extracts ในขั้นตอนการทดสอบ เราพบว่า ชุดข้อมูลขนาดใหญ่ใช้เวลา 2 ชั่วโมง 47 นาที ในการแปลง Output เป็น CSV แต่ใช้เพียง 11 นาที ในการแปลงเป็น Hyper Extract ดังนั้น Extracts จึงเป็นตัวเลือกที่ดีกว่าในการใช้งานกับชุดข้อมูลขนาดใหญ่ และถ้าเวิร์กโฟลว์ของคุณไม่ได้ต้องการใช้งานแฟ้มเดี่ยวล่ะก็ เราขอแนะนำให้ใช้ Hyper Extract จะดีกว่า หากคุณใช้งาน Prep Conductor ในการเผยแพร่โฟลว์ การ Output เป็น Extract จะช่วยให้คุณสามารถเผยแพร่และคงไว้ซึ่งแหล่งความจริงเพียงหนึ่งเดียวสำหรับข้อมูลของคุณบน Tableau Cloud หรือ Tableau Server
หากต้องข้อมูลเพิ่มเติมเกี่ยวกับ Tableau Prep เพิ่มเติมติดต่อเราได้ที่ คลิก