คู่มือฉบับสมบูรณ์สำหรับผู้เชี่ยวชาญด้านข้อมูล (การวิเคราะห์ข้อมูล)
ปรับใช้โครงการวิเคราะห์แรกของคุณ
ปรับใช้ Web Scraping Dashboard ของ Lazada กับ Heroku
คำชี้แจงปัญหา:
สำหรับนักวิทยาศาสตร์ข้อมูล การปรับใช้แอปพลิเคชันของคุณกับระบบคลาวด์ถือเป็นสิ่งสำคัญมาก เพื่อให้ผู้ใช้ทั้งทางเทคนิคและไม่ใช่ด้านเทคนิคสามารถเข้าถึงได้ จากประสบการณ์การทำงานของฉัน ความคาดหวังที่นักวิทยาศาสตร์ข้อมูลจะสร้างโมเดลการเรียนรู้ของเครื่องในขณะที่วิศวกรนำไปใช้งานนั้นหมดสิ้นไปแล้ว โดยส่วนใหญ่แล้ว นักวิทยาศาสตร์ข้อมูลจะต้องทำทั้งสองอย่าง: เพื่อออกแบบโมเดลข้อมูลและปรับใช้แอปข้อมูล (Dev-Ops)
จะเป็นอย่างไรหากเราสามารถปรับใช้แอปพลิเคชันข้อมูลของเราสำหรับผู้ใช้ของเราได้อย่างง่ายดายและอิสระ
เข้าสู่เฮโรกุ
Heroku เป็นแพลตฟอร์มเชิงพาณิชย์ในรูปแบบซอฟต์แวร์ (PaaS) ที่ใช้กันอย่างแพร่หลาย ซึ่งช่วยให้ผู้เชี่ยวชาญด้านข้อมูลสามารถสร้าง จัดการ และปรับใช้แอปพลิเคชันในขนาดต่างๆ ได้ง่ายขึ้นมาก ซึ่งหมายความว่าขณะนี้คุณสามารถมุ่งเน้นไปที่การพัฒนาแอปพลิเคชันการวิเคราะห์โดยไม่ต้องยุ่งยากกับโครงสร้างพื้นฐานการปรับใช้ Heroku จัดการการใช้งานหนักทั้งหมดให้กับคุณ!
พูดง่ายๆ ก็คือ ไม่ว่าคุณจะทำงานบนเซิร์ฟเวอร์ Jupyter ในพื้นที่ของคุณ คุณยังสามารถปรับใช้มันบนคลาวด์เพื่อให้ผู้ใช้ !
Heroku ในการดำเนินการ
ในบทช่วยสอนนี้ คุณจะได้เรียนรู้วิธีปรับใช้ Python Dashboard Web Application ด้วย Heroku เราจะปรับใช้แดชบอร์ดเพื่อตรวจสอบการลดราคาผลิตภัณฑ์ของลาซาด้าและสร้างการแจ้งเตือน
อย่าลังเลที่จะเพลิดเพลินไปกับบทความนี้หรือไปที่ Github Repo ของฉันเพื่อดูรหัสที่สมบูรณ์ หรือเพียงเลื่อนลงและเพลิดเพลินกับบทความนี้
สำหรับท่านที่ไม่คุ้นเคยกับ Dashboard Web Application ที่ผมกล่าวถึง ฉันกำลังสร้างแดชบอร์ดตามการเปลี่ยนแปลงราคาของผลิตภัณฑ์ที่คัดลอกของลาซาด้า แต่ละครั้งที่ผู้ใช้แก้ไขรายการแบบหล่นลง แอปจะแจ้งเตือนผู้ใช้หากราคาของผลิตภัณฑ์ลดลง
งานของเราคือการปรับใช้แอปพลิเคชันนี้บนคลาวด์ด้วย Heroku ผลลัพธ์ที่ได้คือ ลิงก์ที่คุณสามารถแชร์กับเพื่อนหรือเพื่อนร่วมงานของคุณเพื่อเข้าถึงและติดตามแนวโน้มราคาผลิตภัณฑ์ของ Lazada
นี่คือขั้นตอนสำคัญที่สำคัญในการดำเนินการ:
- ลงทะเบียนบัญชี Heroku
- สร้างแอปใหม่
- ตั้งค่าการกำหนดค่าการปรับใช้และไลบรารี
- ปรับใช้แอปพลิเคชันแรกของคุณด้วย Heroku Toolbelt
- การดีบักและการแก้ไขปัญหา
ลงทะเบียนบัญชี Heroku
เยี่ยมชม Heroku และลงทะเบียน จากนั้นคุณจะได้รับการแจ้งเตือนทางอีเมลเพื่อยืนยันการสร้างบัญชีของคุณ
เมื่อคุณพร้อมแล้ว ให้ไปที่บัญชีของคุณแล้วไปที่หน้าแอปหลักส่วนตัวของคุณได้
สร้างแอปใหม่
ดำเนินการต่อและคลิก แอปใหม่ที่มุมขวามือของหน้า ป้อนชื่อแอปของคุณ จากนั้นคลิกสร้างแอป
ตั้งค่าการกำหนดค่าการปรับใช้และไลบรารี
คุณจะต้องมีไฟล์สองไฟล์ในหน้าแรกของ Heroku: Requirements.txt และ Procfile
- requirements.txt จะจัดเก็บไลบรารี Python และการขึ้นต่อกันทั้งหมดที่คุณมีในสภาพแวดล้อม Python เมื่อคุณเรียกใช้แอปพลิเคชันของคุณ คุณสามารถเรียกใช้
pip freeze > requirements.txt
เพื่อดัมพ์ไลบรารี Python ของคุณลงในไฟล์ - Procfileจะระบุเกณฑ์การใช้งาน เช่น ประเภทของไดโนที่คุณใช้ Dynosเป็นโมเดลคอนเทนเนอร์สำหรับเรียกใช้และปรับขนาดแอปบนแพลตฟอร์ม Heroku เป็นวิธีที่ปรับขนาดได้และเชื่อถือได้มากในการสร้างสมดุลการรับส่งข้อมูลและทำให้แอปพลิเคชันของคุณทำงานภายในหน่วยเครื่องยนต์ขนาดเล็ก ในกรณีนี้ เราจะใช้ gunicorn เป็นส่วนต่อประสานของเราในการโต้ตอบกับไดโน
Gunicorn เป็นบริการเว็บแอปพลิเคชัน
Gunicornเป็นอินเทอร์เฟซ WSGI ซึ่งหมายความว่าโฮสต์เว็บแอปพลิเคชัน Python แบบตั้งโปรแกรมได้ และรับประกันการสื่อสารที่เหมาะสมกับ Dash Python และ Flask Library ของเรา
Gunicorn ดูแลงานที่เกิดขึ้นระหว่างเว็บเซิร์ฟเวอร์และเว็บแอปพลิเคชันของคุณ นอกจากนี้ยังช่วยให้คุณเรียกใช้หลายอินสแตนซ์กับเว็บแอปพลิเคชันของคุณ ตรวจสอบความสมบูรณ์ของอินสแตนซ์ และรีเซ็ตอินสแตนซ์เหล่านั้นตามความจำเป็นในขณะที่ปรับสมดุลโหลดอินสแตนซ์เหล่านั้น มีความพยายามอย่างมากในการเพิ่มประสิทธิภาพ ดังนั้นจึงเป็นเรื่องง่ายสำหรับเราที่จะใช้งาน เย็น!
เพียงใส่โค้ดบรรทัดนี้ใน Procfile เพื่อสั่งให้ dynos ใช้เว็บอินเตอร์เฟสของ gunicorn
web: gunicorn app:server
ปรับใช้แอปพลิเคชันแรกของคุณด้วย Heroku Toolbelt
มีหลายวิธีในการปรับใช้โดยใช้ Heroku แต่วิธีที่ง่ายที่สุดวิธีหนึ่งที่ฉันพบคือการใช้ Heroku Toolbelt โปรดดูที่ ลิงค์นี้ เพื่อดาวน์โหลด Toolbelt
จากนั้นเราจะใช้คำสั่ง git และ heroku เพื่อปรับใช้แอปพลิเคชันของเรา
จากนั้นเมื่อคุณดันมันเข้าไปใน heroku แล้ว คุณจะเห็นว่าโฮสต์ของคุณจะติดตั้งไลบรารีทั้งหมดที่คุณระบุใน requirement.txt ของคุณ
หลังจากที่เซิร์ฟเวอร์เสร็จสิ้นค่าคอมมิชชันแล้ว คุณจะได้รับลิงก์เพื่อเข้าถึงแอปพลิเคชันของเรา
ยินดีด้วย คุณเพิ่งปรับใช้แอปแรกของคุณกับ Heroku!
การดีบักและการแก้ไขปัญหา
ในกรณีส่วนใหญ่ คุณจะประสบปัญหาบางอย่างกับการปรับใช้ ดังนั้นหากต้องการแก้ไขข้อบกพร่องนี้ คุณสามารถแทรกคำสั่ง heroku logs -tail.
คำสั่งนี้จะส่งคืนบันทึกต่อไปนี้ซึ่งจะบอกว่าเหตุใดแอปพลิเคชันของคุณจึงขัดข้อง
มันบอกว่าโมดูลบน Dash ของฉันไม่ได้เรียกว่าแอป นี่เป็นเพราะฉันตั้งชื่อแอปพลิเคชันหลักของฉันเป็น Dashboard.py แทนที่จะเป็น app.py สิ่งนี้ทำให้เกิดข้อผิดพลาดเนื่องจาก Flask ไม่พบสคริปต์แอปพลิเคชันหลักที่จะเรียกใช้ ดังนั้นเราจึงสามารถเปลี่ยนชื่อเป็น app.py แล้วจึงพุชแอปอีกครั้ง
หากคุณพบปัญหาเพิ่มเติม เพียงค้นหาข้อผิดพลาดของบันทึกใน Google, Stack Overflow หรือ Dash Documentation ถ้าไม่อย่าลังเลที่จะแสดงความคิดเห็นที่นี่และฉันจะตอบกลับโดยเร็วที่สุด ไชโย :)
ผลลัพธ์สุดท้าย
ยินดีด้วย!! คุณได้ปรับใช้แอปพลิเคชันข้อมูลแรกของคุณแล้ว หากคุณทำอย่างถูกต้อง คุณจะสามารถ "เข้าถึงแอปพลิเคชันได้จาก ""ลิงก์" ของคุณ ถ้าไม่ โปรดอ้างอิงกลับไปที่ "รหัส Github" ของฉันหรือโพสต์คำถามของคุณที่นี่
ปล่อยให้เป็นอิสระและปรับใช้แอปพลิเคชัน Analytics ของคุณด้วย Heroku
ข้อมูลอ้างอิงเพิ่มเติม
หากคุณต้องการตัวอย่างเพิ่มเติมและข้อมูลเชิงลึกที่ดีขึ้นเกี่ยวกับสิ่งที่ Heroku สามารถนำเสนอให้กับเอ็นจิ้นบางตัวได้ อย่าลังเลที่จะเยี่ยมชมลิงค์ต่อไปนี้
ในที่สุด…
ฉันหวังเป็นอย่างยิ่งว่าบทความนี้จะเป็นการอ่านที่ดีและเป็นแรงบันดาลใจให้คุณพัฒนาและสร้างสรรค์สิ่งใหม่ๆ
โปรด แสดงความคิดเห็น ด้านล่างเพื่อแนะนำและแสดงความคิดเห็น เช่นเดียวกับคุณ ฉันยังคงเรียนรู้วิธีการเป็น Data Scientist และ Engineer ที่ดีขึ้น โปรดช่วยฉันปรับปรุงเพื่อที่ฉันจะได้ช่วยเหลือคุณได้ดียิ่งขึ้นในบทความเผยแพร่ครั้งต่อไป
ขอบคุณและขอให้มีความสุขในการเขียนโค้ด :)
เกี่ยวกับผู้เขียน
Vincent Tatan เป็นผู้ที่สนใจข้อมูลและเทคโนโลยี โดยมีประสบการณ์การทำงานที่เกี่ยวข้องจาก Google LLC, Visa Inc. และ Lazada เพื่อใช้สถาปัตยกรรมไมโครเซอร์วิส ระบบธุรกิจอัจฉริยะ และโครงการไปป์ไลน์การวิเคราะห์.
Vincent เป็นชาวอินโดนีเซียโดยกำเนิดซึ่งมีประวัติความสำเร็จในการแก้ปัญหาด้วยจุดแข็งในด้านการพัฒนา Full Stack การวิเคราะห์ข้อมูล และการวางแผนเชิงกลยุทธ์
เขาได้ให้คำปรึกษากับ SMU BI & Analytics Club อย่างแข็งขัน โดยให้คำแนะนำแก่นักวิทยาศาสตร์ข้อมูลและวิศวกรจากภูมิหลังที่หลากหลาย และเปิดกว้างความเชี่ยวชาญของเขาสำหรับธุรกิจต่างๆ เพื่อพัฒนาผลิตภัณฑ์ของตน
Vincent ยังเปิดบริการให้คำปรึกษาแบบ 1 ต่อ 1 ของเขาบน BestTop เพื่อฝึกสอนวิธีที่คุณสามารถบรรลุความฝันในตำแหน่งนักวิเคราะห์ข้อมูล/วิศวกรที่ Google, Visa หรือบริษัทเทคโนโลยีขนาดใหญ่อื่นๆ จองการนัดหมายกับเขาที่นี่ หากคุณกำลังมองหาคำปรึกษา
สุดท้ายนี้ โปรดติดต่อ Vincent ผ่านทาง LinkedIn , Medium หรือ Youtube Channel