ผู้ทดสอบข้อมูลขนาดใหญ่และขนาดเล็ก: แนวโน้ม ทฤษฎี เรื่องราวของฉัน

สวัสดีทุกคน ฉันชื่อ Alexander เป็นวิศวกรด้านคุณภาพข้อมูลที่ตรวจสอบคุณภาพข้อมูล บทความนี้จะพูดถึงว่าฉันมาถึงสิ่งนี้ได้อย่างไรและเหตุใดในปี 2020 การทดสอบด้านนี้จึงอยู่บนยอดคลื่น

ผู้ทดสอบข้อมูลขนาดใหญ่และขนาดเล็ก: แนวโน้ม ทฤษฎี เรื่องราวของฉัน

เทรนด์โลก

โลกปัจจุบันกำลังประสบกับการปฏิวัติทางเทคโนโลยีอีกครั้ง แง่มุมหนึ่งคือการใช้ข้อมูลที่สะสมโดยบริษัททุกประเภทเพื่อส่งเสริมการขาย ผลกำไร และการประชาสัมพันธ์ของตนเอง ดูเหมือนว่าการมีอยู่ของข้อมูลที่ดี (คุณภาพ) รวมถึงสมองที่มีทักษะซึ่งสามารถสร้างรายได้จากข้อมูลนั้น (ประมวลผลอย่างถูกต้อง แสดงภาพ สร้างโมเดลการเรียนรู้ของเครื่อง ฯลฯ) ได้กลายเป็นกุญแจสู่ความสำเร็จสำหรับหลายๆ คนในปัจจุบัน หาก 15-20 ปีที่แล้ว บริษัทขนาดใหญ่ส่วนใหญ่เกี่ยวข้องกับการทำงานอย่างเข้มข้นด้วยการสะสมข้อมูลและการสร้างรายได้ ในปัจจุบันนี้เป็นกลุ่มคนที่มีสติเกือบทั้งหมด

ในเรื่องนี้เมื่อหลายปีก่อน พอร์ทัลทั้งหมดที่ทุ่มเทให้กับการหางานทั่วโลกเริ่มเต็มไปด้วยตำแหน่งงานว่างสำหรับ Data Scientist เนื่องจากทุกคนมั่นใจว่าเมื่อจ้างผู้เชี่ยวชาญดังกล่าวแล้วจะสามารถสร้างซูเปอร์โมเดลแห่งการเรียนรู้ของเครื่องได้ คาดการณ์อนาคตและดำเนินการ "ก้าวกระโดดควอนตัม" ให้กับบริษัท เมื่อเวลาผ่านไป ผู้คนตระหนักว่าแนวทางนี้แทบไม่เคยได้ผลเลย เนื่องจากข้อมูลทั้งหมดที่ตกอยู่ในมือของผู้เชี่ยวชาญนั้นไม่เหมาะกับโมเดลการฝึกอบรม

และคำขอจาก Data Scientist ก็เริ่มขึ้น: “มาซื้อข้อมูลจากสิ่งเหล่านี้ให้มากขึ้นกัน…”, “เรามีข้อมูลไม่เพียงพอ...”, “เราต้องการข้อมูลเพิ่มเติม โดยควรมีข้อมูลคุณภาพสูง...” . ตามคำขอเหล่านี้ ปฏิสัมพันธ์จำนวนมากเริ่มถูกสร้างขึ้นระหว่างบริษัทที่เป็นเจ้าของชุดข้อมูลชุดหนึ่งหรือชุดอื่น โดยปกติแล้ว สิ่งนี้จำเป็นต้องมีองค์กรด้านเทคนิคของกระบวนการนี้ - เชื่อมต่อกับแหล่งข้อมูล ดาวน์โหลด ตรวจสอบว่าโหลดเต็มแล้ว ฯลฯ จำนวนกระบวนการดังกล่าวเริ่มเพิ่มขึ้นและในปัจจุบันเรามีความต้องการอย่างมากสำหรับประเภทอื่น ผู้เชี่ยวชาญ - วิศวกรคุณภาพข้อมูล - ผู้ที่จะตรวจสอบการไหลของข้อมูลในระบบ (ไปป์ไลน์ข้อมูล) คุณภาพของข้อมูลที่อินพุตและเอาต์พุต และสรุปเกี่ยวกับความเพียงพอ ความสมบูรณ์ และคุณลักษณะอื่น ๆ

กระแสของวิศวกรด้านคุณภาพข้อมูลมาจากสหรัฐอเมริกา ซึ่งท่ามกลางยุคทุนนิยมที่โหมกระหน่ำ ไม่มีใครพร้อมที่จะแพ้การต่อสู้แย่งชิงข้อมูล ด้านล่างนี้ฉันได้จัดเตรียมภาพหน้าจอจากไซต์ค้นหางานยอดนิยมสองแห่งในสหรัฐอเมริกา: www.monster.com и www.dice.com — ซึ่งแสดงข้อมูล ณ วันที่ 17 มีนาคม 2020 เกี่ยวกับจำนวนตำแหน่งงานว่างที่ประกาศรับสมัครโดยใช้คำหลัก: Data Quality and Data Scientist

www.monster.com

นักวิทยาศาสตร์ข้อมูล - ตำแหน่งงานว่าง 21416 ตำแหน่ง
คุณภาพข้อมูล - ตำแหน่งงานว่าง 41104 ตำแหน่ง

ผู้ทดสอบข้อมูลขนาดใหญ่และขนาดเล็ก: แนวโน้ม ทฤษฎี เรื่องราวของฉัน
ผู้ทดสอบข้อมูลขนาดใหญ่และขนาดเล็ก: แนวโน้ม ทฤษฎี เรื่องราวของฉัน

www.dice.com

นักวิทยาศาสตร์ข้อมูล - ตำแหน่งงานว่าง 404 ตำแหน่ง
คุณภาพข้อมูล – ตำแหน่งงานว่างปี 2020

ผู้ทดสอบข้อมูลขนาดใหญ่และขนาดเล็ก: แนวโน้ม ทฤษฎี เรื่องราวของฉัน
ผู้ทดสอบข้อมูลขนาดใหญ่และขนาดเล็ก: แนวโน้ม ทฤษฎี เรื่องราวของฉัน

แน่นอนว่าอาชีพเหล่านี้ไม่มีทางแข่งขันกันเอง ด้วยภาพหน้าจอ ฉันแค่อยากแสดงให้เห็นสถานการณ์ปัจจุบันในตลาดแรงงานในแง่ของคำขอวิศวกรด้านคุณภาพข้อมูล ซึ่งขณะนี้มีความต้องการมากกว่านักวิทยาศาสตร์ด้านข้อมูล

ในเดือนมิถุนายน 2019 EPAM ได้ตอบสนองต่อความต้องการของตลาดไอทีสมัยใหม่ โดยแยกคุณภาพข้อมูลออกเป็นแนวทางปฏิบัติที่แยกจากกัน ในระหว่างการทำงานประจำวัน วิศวกรด้านคุณภาพข้อมูลจะจัดการข้อมูล ตรวจสอบพฤติกรรมในเงื่อนไขและระบบใหม่ ติดตามความเกี่ยวข้องของข้อมูล ความเพียงพอ และความเกี่ยวข้อง ด้วยเหตุนี้ ในทางปฏิบัติแล้ว วิศวกรด้านคุณภาพข้อมูลจึงใช้เวลาเพียงเล็กน้อยในการทดสอบฟังก์ชันแบบคลาสสิก แต่ สิ่งนี้ขึ้นอยู่กับโครงการอย่างมาก (ฉันจะยกตัวอย่างด้านล่าง)

ความรับผิดชอบของวิศวกรคุณภาพข้อมูลไม่ได้จำกัดเพียงการตรวจสอบด้วยตนเอง/อัตโนมัติตามปกติสำหรับ “ค่าว่าง จำนวนและผลรวม” ในตารางฐานข้อมูล แต่จำเป็นต้องมีความเข้าใจอย่างลึกซึ้งเกี่ยวกับความต้องการทางธุรกิจของลูกค้า และด้วยเหตุนี้ ความสามารถในการแปลงข้อมูลที่มีอยู่ให้เป็น ข้อมูลทางธุรกิจที่เป็นประโยชน์

ทฤษฎีคุณภาพข้อมูล

ผู้ทดสอบข้อมูลขนาดใหญ่และขนาดเล็ก: แนวโน้ม ทฤษฎี เรื่องราวของฉัน

เพื่อให้จินตนาการถึงบทบาทของวิศวกรได้ชัดเจนยิ่งขึ้น เรามาดูกันว่าคุณภาพข้อมูลในทางทฤษฎีเป็นอย่างไร

คุณภาพของข้อมูล — หนึ่งในขั้นตอนของการจัดการข้อมูล (โลกทั้งโลกที่เราจะปล่อยให้คุณศึกษาด้วยตัวเอง) และมีหน้าที่ในการวิเคราะห์ข้อมูลตามเกณฑ์ต่อไปนี้:

ผู้ทดสอบข้อมูลขนาดใหญ่และขนาดเล็ก: แนวโน้ม ทฤษฎี เรื่องราวของฉัน
ฉันคิดว่าไม่จำเป็นต้องถอดรหัสแต่ละจุด (ตามทฤษฎีแล้วเรียกว่า "มิติข้อมูล") ซึ่งมีการอธิบายไว้ค่อนข้างดีในภาพ แต่กระบวนการทดสอบไม่ได้หมายความถึงการคัดลอกคุณสมบัติเหล่านี้ลงในกรณีทดสอบและตรวจสอบคุณสมบัติเหล่านี้อย่างเคร่งครัด ในด้านคุณภาพข้อมูล เช่นเดียวกับการทดสอบประเภทอื่นๆ ประการแรก จำเป็นต้องสร้างข้อกำหนดด้านคุณภาพข้อมูลที่ตกลงกับผู้เข้าร่วมโครงการที่ทำการตัดสินใจทางธุรกิจ

วิศวกรสามารถทำหน้าที่ต่างๆ ได้ ขึ้นอยู่กับโครงการคุณภาพข้อมูล ตั้งแต่ผู้ทดสอบระบบอัตโนมัติทั่วไปที่มีการประเมินคุณภาพข้อมูลแบบผิวเผิน ไปจนถึงบุคคลที่ดำเนินการจัดทำโปรไฟล์เชิงลึกของข้อมูลตามเกณฑ์ข้างต้น

คำอธิบายโดยละเอียดของการจัดการข้อมูล คุณภาพข้อมูล และกระบวนการที่เกี่ยวข้องมีการอธิบายไว้อย่างดีในหนังสือชื่อ "DAMA-DMBOK: องค์ความรู้การจัดการข้อมูล: ฉบับที่ 2". ฉันขอแนะนำหนังสือเล่มนี้เป็นการแนะนำหัวข้อนี้ (คุณจะพบลิงก์ไปยังหนังสือเล่มนี้ในตอนท้ายของบทความ)

เรื่องราวของฉัน

ในอุตสาหกรรมไอที ฉันก้าวขึ้นมาจากผู้ทดสอบรุ่นเยาว์ในบริษัทผลิตภัณฑ์มาเป็นหัวหน้าวิศวกรคุณภาพข้อมูลที่ EPAM หลังจากทำงานเป็นผู้ทดสอบประมาณสองปี ฉันเชื่อมั่นอย่างยิ่งว่าฉันได้ทำการทดสอบทุกประเภทแล้ว: การถดถอย การทำงาน ความเครียด ความเสถียร ความปลอดภัย UI ฯลฯ - และได้ลองใช้เครื่องมือทดสอบจำนวนมาก โดยมี ทำงานพร้อมกันในสามภาษาการเขียนโปรแกรม: Java, Scala, Python

เมื่อมองย้อนกลับไป ฉันเข้าใจว่าทำไมชุดทักษะของฉันจึงมีความหลากหลาย ฉันมีส่วนร่วมในโครงการที่ขับเคลื่อนด้วยข้อมูล ทั้งเล็กและใหญ่ นี่คือสิ่งที่นำฉันเข้าสู่โลกแห่งเครื่องมือและโอกาสในการเติบโตมากมาย

หากต้องการชื่นชมเครื่องมือที่หลากหลายและโอกาสในการได้รับความรู้และทักษะใหม่ๆ เพียงดูภาพด้านล่างซึ่งแสดงให้เห็นเครื่องมือที่ได้รับความนิยมมากที่สุดในโลก “Data & AI”

ผู้ทดสอบข้อมูลขนาดใหญ่และขนาดเล็ก: แนวโน้ม ทฤษฎี เรื่องราวของฉัน
ภาพประกอบประเภทนี้รวบรวมเป็นประจำทุกปีโดย Matt Turck ผู้ร่วมทุนชื่อดังคนหนึ่งซึ่งมาจากการพัฒนาซอฟต์แวร์ ที่นี่ ลิงค์ ไปที่บล็อกของเขาและ บริษัทร่วมทุนซึ่งเขาทำงานเป็นหุ้นส่วน

ฉันเติบโตอย่างมืออาชีพอย่างรวดเร็วโดยเฉพาะอย่างยิ่งเมื่อฉันเป็นผู้ทดสอบเพียงคนเดียวในโปรเจ็กต์ หรืออย่างน้อยก็ในช่วงเริ่มต้นของโปรเจ็กต์ ในขณะนี้คุณต้องรับผิดชอบกระบวนการทดสอบทั้งหมด และคุณไม่มีโอกาสถอย ทำได้เพียงเดินหน้าต่อไป ตอนแรกมันน่ากลัว แต่ตอนนี้ข้อดีทั้งหมดของการทดสอบนี้ชัดเจนสำหรับฉัน:

  • คุณเริ่มสื่อสารกับทั้งทีมอย่างที่ไม่เคยมีมาก่อน เนื่องจากไม่มีพร็อกซีสำหรับการสื่อสาร ทั้งผู้จัดการการทดสอบหรือเพื่อนผู้ทดสอบ
  • การดื่มด่ำกับโปรเจ็กต์จะลึกซึ้งอย่างไม่น่าเชื่อ และคุณมีข้อมูลเกี่ยวกับส่วนประกอบทั้งหมด ทั้งโดยทั่วไปและในรายละเอียด
  • นักพัฒนาไม่ได้มองว่าคุณเป็น “คนที่มาจากการทดสอบซึ่งไม่รู้ว่าเขากำลังทำอะไรอยู่” แต่เป็นคนที่เท่าเทียมกันที่สร้างผลประโยชน์อันเหลือเชื่อให้กับทีมด้วยการทดสอบอัตโนมัติและการคาดหวังถึงจุดบกพร่องที่ปรากฏในองค์ประกอบเฉพาะของ ผลิตภัณฑ์.
  • เป็นผลให้คุณมีประสิทธิภาพมากขึ้น มีคุณสมบัติมากขึ้น และเป็นที่ต้องการมากขึ้น

เมื่อโปรเจ็กต์เติบโตขึ้น ในกรณี 100% ฉันได้เป็นที่ปรึกษาสำหรับผู้ทดสอบใหม่ โดยสอนพวกเขาและถ่ายทอดความรู้ที่ฉันได้เรียนรู้ด้วยตนเอง ในเวลาเดียวกัน ขึ้นอยู่กับโครงการ ฉันไม่ได้รับผู้เชี่ยวชาญด้านการทดสอบอัตโนมัติระดับสูงสุดจากฝ่ายบริหารเสมอไป และจำเป็นต้องฝึกอบรมพวกเขาเกี่ยวกับระบบอัตโนมัติ (สำหรับผู้ที่สนใจ) หรือสร้างเครื่องมือสำหรับใช้ในกิจกรรมประจำวัน (เครื่องมือ สำหรับสร้างข้อมูลและโหลดเข้าสู่ระบบ เครื่องมือสำหรับดำเนินการทดสอบโหลด/ทดสอบความเสถียร “อย่างรวดเร็ว” ฯลฯ)

ตัวอย่างโครงการเฉพาะ

น่าเสียดาย เนื่องจากภาระหน้าที่ในการไม่เปิดเผยข้อมูล ฉันไม่สามารถพูดรายละเอียดเกี่ยวกับโครงการที่ฉันทำงานอยู่ได้ แต่ฉันจะยกตัวอย่างงานทั่วไปของวิศวกรคุณภาพข้อมูลในโครงการใดโครงการหนึ่ง

สาระสำคัญของโครงการคือการใช้แพลตฟอร์มสำหรับการเตรียมข้อมูลสำหรับการฝึกอบรมโมเดลการเรียนรู้ของเครื่องตามข้อมูลนั้น ลูกค้าเป็นบริษัทยารายใหญ่จากประเทศสหรัฐอเมริกา ในทางเทคนิคแล้วมันเป็นคลัสเตอร์ Kubernetes, เพิ่มขึ้นถึง AWS EC2 อินสแตนซ์ที่มีไมโครเซอร์วิสหลายตัวและโครงการโอเพ่นซอร์สพื้นฐานของ EPAM - พยุหะปรับให้เข้ากับความต้องการของลูกค้าเฉพาะราย (ปัจจุบันโครงการได้เกิดใหม่แล้ว) โอดาฮู). กระบวนการ ETL ถูกจัดระเบียบโดยใช้ อาปาเช่แอร์โฟลว์ และย้ายข้อมูลจาก SalesForce ระบบลูกค้าใน AWS S3 ถัง จากนั้น อิมเมจ Docker ของโมเดลการเรียนรู้ของเครื่องถูกปรับใช้บนแพลตฟอร์ม ซึ่งได้รับการฝึกฝนเกี่ยวกับข้อมูลใหม่ และใช้อินเทอร์เฟซ REST API เพื่อสร้างการคาดการณ์ที่เป็นที่สนใจของธุรกิจและแก้ไขปัญหาเฉพาะ

สายตาทุกอย่างมีลักษณะดังนี้:

ผู้ทดสอบข้อมูลขนาดใหญ่และขนาดเล็ก: แนวโน้ม ทฤษฎี เรื่องราวของฉัน
มีการทดสอบการทำงานมากมายในโปรเจ็กต์นี้ และเมื่อพิจารณาจากความเร็วของการพัฒนาฟีเจอร์และความจำเป็นในการรักษาความเร็วของวงจรการเปิดตัว (การวิ่งสองสัปดาห์) จึงจำเป็นต้องคิดทันทีเกี่ยวกับการทดสอบอัตโนมัติของส่วนประกอบที่สำคัญที่สุดของ ระบบ. แพลตฟอร์มที่ใช้ Kubernetes ส่วนใหญ่นั้นครอบคลุมโดยการทดสอบอัตโนมัติที่นำมาใช้ กรอบงานหุ่นยนต์ + Python แต่ก็จำเป็นต้องรองรับและขยายด้วย นอกจากนี้ เพื่อความสะดวกของลูกค้า GUI ยังถูกสร้างขึ้นเพื่อจัดการโมเดลการเรียนรู้ของเครื่องที่ใช้งานกับคลัสเตอร์ รวมถึงความสามารถในการระบุตำแหน่งและตำแหน่งที่ต้องถ่ายโอนข้อมูลเพื่อการฝึกโมเดล การเพิ่มที่ครอบคลุมนี้นำมาซึ่งการขยายการทดสอบการทำงานอัตโนมัติ ซึ่งส่วนใหญ่ทำผ่านการเรียก REST API และการทดสอบ UI ปลาย 2 ปลายจำนวนเล็กน้อย บริเวณเส้นศูนย์สูตรของการเคลื่อนไหวทั้งหมดนี้ เราได้เข้าร่วมโดยผู้ทดสอบด้วยตนเองซึ่งทำงานได้อย่างยอดเยี่ยมในการทดสอบการยอมรับเวอร์ชันผลิตภัณฑ์ และสื่อสารกับลูกค้าเกี่ยวกับการยอมรับการเปิดตัวครั้งต่อไป นอกจากนี้ เนื่องจากการมาถึงของผู้เชี่ยวชาญคนใหม่ เราจึงสามารถบันทึกงานของเราและเพิ่มการตรวจสอบด้วยตนเองที่สำคัญมากหลายรายการซึ่งยากต่อการทำให้เป็นอัตโนมัติทันที

และสุดท้าย หลังจากที่เราได้รับความเสถียรจากแพลตฟอร์มและส่วนเสริม GUI เราก็เริ่มสร้างไปป์ไลน์ ETL โดยใช้ Apache Airflow DAG การตรวจสอบคุณภาพข้อมูลอัตโนมัติดำเนินการโดยการเขียน DAG พิเศษของ Airflow ซึ่งจะตรวจสอบข้อมูลตามผลลัพธ์ของกระบวนการ ETL ในส่วนหนึ่งของโปรเจ็กต์นี้ เราโชคดีและลูกค้าให้สิทธิ์เราในการเข้าถึงชุดข้อมูลที่ไม่เปิดเผยตัวตนที่เราทดสอบ เราตรวจสอบบรรทัดข้อมูลเพื่อดูความสอดคล้องกับประเภท การมีอยู่ของข้อมูลที่เสียหาย จำนวนบันทึกทั้งหมดก่อนและหลัง การเปรียบเทียบการเปลี่ยนแปลงที่ทำโดยกระบวนการ ETL สำหรับการรวม การเปลี่ยนชื่อคอลัมน์ และอื่นๆ นอกจากนี้ การตรวจสอบเหล่านี้ยังได้รับการปรับขนาดตามแหล่งข้อมูลที่แตกต่างกัน เช่น นอกเหนือจาก SalesForce ไปจนถึง MySQL ด้วย

การตรวจสอบคุณภาพข้อมูลขั้นสุดท้ายได้ดำเนินการแล้วที่ระดับ S3 ซึ่งเป็นที่จัดเก็บและพร้อมใช้งานสำหรับการฝึกโมเดลแมชชีนเลิร์นนิง หากต้องการรับข้อมูลจากไฟล์ CSV สุดท้ายที่อยู่ใน S3 Bucket และตรวจสอบความถูกต้อง จึงมีการเขียนโค้ดโดยใช้ ลูกค้า boto3.

นอกจากนี้ ยังมีข้อกำหนดจากลูกค้าให้จัดเก็บข้อมูลบางส่วนไว้ใน S3 Bucket หนึ่งและอีกส่วนหนึ่งไว้ในอีกข้อมูลหนึ่ง นอกจากนี้ยังต้องมีการเขียนการตรวจสอบเพิ่มเติมเพื่อตรวจสอบความน่าเชื่อถือของการเรียงลำดับดังกล่าว

ประสบการณ์ทั่วไปจากโครงการอื่นๆ

ตัวอย่างของรายการกิจกรรมทั่วไปที่สุดของวิศวกรคุณภาพข้อมูล:

  • เตรียมข้อมูลการทดสอบ (ที่ถูกต้อง ขนาดใหญ่ เล็ก) ผ่านเครื่องมืออัตโนมัติ
  • อัปโหลดชุดข้อมูลที่เตรียมไว้ไปยังแหล่งที่มาดั้งเดิมและตรวจสอบว่าพร้อมใช้งาน
  • เรียกใช้กระบวนการ ETL สำหรับการประมวลผลชุดข้อมูลจากที่เก็บข้อมูลต้นทางไปยังที่เก็บข้อมูลสุดท้ายหรือระดับกลางโดยใช้ชุดการตั้งค่าบางชุด (หากเป็นไปได้ ให้ตั้งค่าพารามิเตอร์ที่กำหนดค่าได้สำหรับงาน ETL)
  • ตรวจสอบข้อมูลที่ประมวลผลโดยกระบวนการ ETL ว่ามีคุณภาพและสอดคล้องกับข้อกำหนดทางธุรกิจ

ในเวลาเดียวกัน จุดสนใจหลักของการตรวจสอบไม่ควรอยู่ที่ข้อเท็จจริงที่ว่ากระแสข้อมูลในระบบทำงานได้ตามหลักการแล้วและเสร็จสิ้นแล้ว (ซึ่งเป็นส่วนหนึ่งของการทดสอบการทำงาน) แต่ส่วนใหญ่เกี่ยวกับการตรวจสอบและตรวจสอบความถูกต้องของข้อมูลสำหรับ การปฏิบัติตามข้อกำหนดที่คาดหวัง การระบุความผิดปกติ และอื่นๆ

เครื่องมือ

หนึ่งในเทคนิคสำหรับการควบคุมข้อมูลดังกล่าวคือการจัดระเบียบการตรวจสอบลูกโซ่ในแต่ละขั้นตอนของการประมวลผลข้อมูลที่เรียกว่า "ห่วงโซ่ข้อมูล" ในวรรณกรรม - การควบคุมข้อมูลจากแหล่งที่มาไปยังจุดใช้งานขั้นสุดท้าย การตรวจสอบประเภทนี้มักนำไปใช้โดยการเขียนการตรวจสอบคำสั่ง SQL เป็นที่ชัดเจนว่าแบบสอบถามดังกล่าวควรมีน้ำหนักเบาที่สุดเท่าที่จะเป็นไปได้ และตรวจสอบคุณภาพข้อมูลแต่ละส่วน (ข้อมูลเมตาของตาราง บรรทัดว่าง NULLs ข้อผิดพลาดในรูปแบบไวยากรณ์ - คุณลักษณะอื่นๆ ที่จำเป็นสำหรับการตรวจสอบ)

ในกรณีของการทดสอบการถดถอยซึ่งใช้ชุดข้อมูลสำเร็จรูป (ไม่สามารถเปลี่ยนแปลงได้และเปลี่ยนแปลงได้เล็กน้อย) โค้ดการทดสอบอัตโนมัติสามารถจัดเก็บเทมเพลตสำเร็จรูปสำหรับการตรวจสอบข้อมูลเพื่อให้สอดคล้องกับคุณภาพ (คำอธิบายของข้อมูลเมตาของตารางที่คาดหวัง ออบเจ็กต์ตัวอย่างแถวที่สามารถทำได้ สุ่มเลือกระหว่างการทดสอบ ฯลฯ )

นอกจากนี้ ในระหว่างการทดสอบ คุณจะต้องเขียนกระบวนการทดสอบ ETL โดยใช้เฟรมเวิร์ก เช่น Apache Airflow Apache Spark หรือแม้แต่เครื่องมือประเภทคลาวด์กล่องดำ GCP Dataprep, โฟลว์ข้อมูล GCP และอื่นๆ สถานการณ์นี้บังคับให้วิศวกรทดสอบต้องหมกมุ่นอยู่กับหลักการทำงานของเครื่องมือข้างต้น และทำการทดสอบการทำงานอย่างมีประสิทธิภาพยิ่งขึ้น (เช่น กระบวนการ ETL ที่มีอยู่ในโครงการ) และใช้กระบวนการเหล่านี้เพื่อตรวจสอบข้อมูล โดยเฉพาะอย่างยิ่ง Apache Airflow มีตัวดำเนินการสำเร็จรูปสำหรับการทำงานกับฐานข้อมูลการวิเคราะห์ยอดนิยม เป็นต้น GCP BigQuery. ตัวอย่างการใช้งานขั้นพื้นฐานที่สุดได้รับการสรุปไว้แล้ว ที่นี่ดังนั้นฉันจะไม่พูดซ้ำอีก

นอกเหนือจากโซลูชันสำเร็จรูปแล้ว ไม่มีใครห้ามไม่ให้คุณใช้เทคนิคและเครื่องมือของคุณเอง สิ่งนี้จะไม่เพียงเป็นประโยชน์ต่อโครงการเท่านั้น แต่ยังรวมถึงวิศวกรคุณภาพข้อมูลด้วยซึ่งจะปรับปรุงขอบเขตทางเทคนิคและทักษะการเขียนโค้ดของเขา

มันทำงานอย่างไรในโครงการจริง

ภาพประกอบที่ดีของย่อหน้าสุดท้ายเกี่ยวกับ "ห่วงโซ่ข้อมูล", ETL และการตรวจสอบที่แพร่หลายคือกระบวนการต่อไปนี้จากหนึ่งในโครงการจริง:

ผู้ทดสอบข้อมูลขนาดใหญ่และขนาดเล็ก: แนวโน้ม ทฤษฎี เรื่องราวของฉัน

ที่นี่ ข้อมูลต่างๆ (โดยธรรมชาติแล้วเราเตรียมไว้) เข้าสู่ "ช่องทาง" อินพุตของระบบของเรา: ถูกต้อง ไม่ถูกต้อง ผสม ฯลฯ จากนั้นข้อมูลเหล่านั้นจะถูกกรองและจบลงที่การจัดเก็บข้อมูลระดับกลาง จากนั้นพวกเขาจะได้รับการเปลี่ยนแปลงอีกครั้ง และถูกวางไว้ในการจัดเก็บข้อมูลขั้นสุดท้าย ซึ่งในทางกลับกัน การวิเคราะห์ การสร้างศูนย์ข้อมูล และการค้นหาข้อมูลเชิงลึกทางธุรกิจจะดำเนินการ ในระบบดังกล่าว หากไม่มีการตรวจสอบการทำงานของกระบวนการ ETL เราจะมุ่งเน้นไปที่คุณภาพของข้อมูลก่อนและหลังการแปลง รวมถึงผลลัพธ์ไปสู่การวิเคราะห์

เพื่อสรุปข้างต้น ไม่ว่าฉันจะทำงานที่ไหนก็ตาม ทุกที่ที่ฉันมีส่วนร่วมในโปรเจ็กต์ข้อมูลที่ใช้ฟีเจอร์ต่อไปนี้ร่วมกัน:

  • ด้วยระบบอัตโนมัติเท่านั้นที่คุณสามารถทดสอบบางกรณีและบรรลุรอบการเผยแพร่ที่ธุรกิจยอมรับได้
  • ผู้ทดสอบในโครงการดังกล่าวเป็นหนึ่งในสมาชิกที่ได้รับความเคารพนับถือมากที่สุดในทีม เนื่องจากจะมอบประโยชน์ที่ยอดเยี่ยมให้กับผู้เข้าร่วมแต่ละคน (การเร่งการทดสอบ ข้อมูลที่ดีจาก Data Scientist การระบุข้อบกพร่องในระยะแรก)
  • ไม่สำคัญว่าคุณจะทำงานบนฮาร์ดแวร์ของคุณเองหรือบนคลาวด์ ทรัพยากรทั้งหมดจะถูกแยกออกเป็นคลัสเตอร์ เช่น Hortonworks, Cloudera, Mesos, Kubernetes ฯลฯ
  • โปรเจ็กต์ถูกสร้างขึ้นบนแนวทางไมโครเซอร์วิส ซึ่งมีการประมวลผลแบบกระจายและแบบขนานที่มีอำนาจเหนือกว่า

ฉันอยากจะทราบว่าเมื่อทำการทดสอบในด้านคุณภาพข้อมูล ผู้เชี่ยวชาญด้านการทดสอบจะเปลี่ยนโฟกัสแบบมืออาชีพไปที่โค้ดของผลิตภัณฑ์และเครื่องมือที่ใช้

คุณสมบัติที่โดดเด่นของการทดสอบคุณภาพข้อมูล

นอกจากนี้สำหรับตัวฉันเองฉันได้ระบุสิ่งต่อไปนี้ (ฉันจะจองทันทีว่าเป็นคุณสมบัติทั่วไปและเป็นส่วนตัวโดยเฉพาะ) คุณสมบัติที่โดดเด่นของการทดสอบในโครงการข้อมูล (ข้อมูลขนาดใหญ่) (ระบบ) และด้านอื่น ๆ :

ผู้ทดสอบข้อมูลขนาดใหญ่และขนาดเล็ก: แนวโน้ม ทฤษฎี เรื่องราวของฉัน

ลิงค์ที่มีประโยชน์

  1. ทฤษฎี: DAMA-DMBOK: องค์ความรู้การจัดการข้อมูล: ฉบับที่ 2.
  2. ศูนย์ฝึก EPAM 
  3. วัสดุที่แนะนำสำหรับวิศวกรคุณภาพข้อมูลมือใหม่:
    1. หลักสูตรฟรีบน Stepik: ความรู้เบื้องต้นเกี่ยวกับฐานข้อมูล
    2. หลักสูตรการเรียนรู้ LinkedIn: รากฐานวิทยาศาสตร์ข้อมูล: วิศวกรรมข้อมูล.
    3. บทความ:
    4. วิดีโอ:

ข้อสรุป

คุณภาพของข้อมูล เป็นทิศทางที่มีแนวโน้มใหม่มาก การเป็นส่วนหนึ่งของการเป็นส่วนหนึ่งของสตาร์ทอัพ เมื่ออยู่ในด้านคุณภาพข้อมูล คุณจะได้ดื่มด่ำกับเทคโนโลยีสมัยใหม่ที่เป็นที่ต้องการจำนวนมาก แต่ที่สำคัญที่สุดคือ โอกาสมหาศาลจะเปิดให้คุณสร้างและนำแนวคิดของคุณไปใช้ คุณจะสามารถใช้แนวทางการปรับปรุงอย่างต่อเนื่องไม่เพียงแต่กับโครงการเท่านั้น แต่ยังรวมถึงตัวคุณเองด้วยการพัฒนาอย่างต่อเนื่องในฐานะผู้เชี่ยวชาญ

ที่มา: will.com

เพิ่มความคิดเห็น