คู่มือฉบับสมบูรณ์สำหรับผู้เชี่ยวชาญด้านข้อมูล (การวิเคราะห์ข้อมูล)

ปรับใช้โครงการวิเคราะห์แรกของคุณ

ปรับใช้ Web Scraping Dashboard ของ Lazada กับ Heroku

คำชี้แจงปัญหา:

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

จะเป็นอย่างไรหากเราสามารถปรับใช้แอปพลิเคชันข้อมูลของเราสำหรับผู้ใช้ของเราได้อย่างง่ายดายและอิสระ

เข้าสู่เฮโรกุ

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

พูดง่ายๆ ก็คือ ไม่ว่าคุณจะทำงานบนเซิร์ฟเวอร์ Jupyter ในพื้นที่ของคุณ คุณยังสามารถปรับใช้มันบนคลาวด์เพื่อให้ผู้ใช้ !

Heroku ในการดำเนินการ

ในบทช่วยสอนนี้ คุณจะได้เรียนรู้วิธีปรับใช้ Python Dashboard Web Application ด้วย Heroku เราจะปรับใช้แดชบอร์ดเพื่อตรวจสอบการลดราคาผลิตภัณฑ์ของลาซาด้าและสร้างการแจ้งเตือน

อย่าลังเลที่จะเพลิดเพลินไปกับบทความนี้หรือไปที่ Github Repo ของฉันเพื่อดูรหัสที่สมบูรณ์ หรือเพียงเลื่อนลงและเพลิดเพลินกับบทความนี้

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

งานของเราคือการปรับใช้แอปพลิเคชันนี้บนคลาวด์ด้วย Heroku ผลลัพธ์ที่ได้คือ ลิงก์ที่คุณสามารถแชร์กับเพื่อนหรือเพื่อนร่วมงานของคุณเพื่อเข้าถึงและติดตามแนวโน้มราคาผลิตภัณฑ์ของ Lazada

นี่คือขั้นตอนสำคัญที่สำคัญในการดำเนินการ:

  1. ลงทะเบียนบัญชี Heroku
  2. สร้างแอปใหม่
  3. ตั้งค่าการกำหนดค่าการปรับใช้และไลบรารี
  4. ปรับใช้แอปพลิเคชันแรกของคุณด้วย Heroku Toolbelt
  5. การดีบักและการแก้ไขปัญหา

ลงทะเบียนบัญชี Heroku

เยี่ยมชม Heroku และลงทะเบียน จากนั้นคุณจะได้รับการแจ้งเตือนทางอีเมลเพื่อยืนยันการสร้างบัญชีของคุณ

เมื่อคุณพร้อมแล้ว ให้ไปที่บัญชีของคุณแล้วไปที่หน้าแอปหลักส่วนตัวของคุณได้

สร้างแอปใหม่

ดำเนินการต่อและคลิก แอปใหม่ที่มุมขวามือของหน้า ป้อนชื่อแอปของคุณ จากนั้นคลิกสร้างแอป

ตั้งค่าการกำหนดค่าการปรับใช้และไลบรารี

คุณจะต้องมีไฟล์สองไฟล์ในหน้าแรกของ Heroku: Requirements.txt และ Procfile

  1. requirements.txt จะจัดเก็บไลบรารี Python และการขึ้นต่อกันทั้งหมดที่คุณมีในสภาพแวดล้อม Python เมื่อคุณเรียกใช้แอปพลิเคชันของคุณ คุณสามารถเรียกใช้ pip freeze > requirements.txtเพื่อดัมพ์ไลบรารี Python ของคุณลงในไฟล์
  2. 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 สามารถนำเสนอให้กับเอ็นจิ้นบางตัวได้ อย่าลังเลที่จะเยี่ยมชมลิงค์ต่อไปนี้

  1. Hเว็บไซต์หลักเอโรกุ
  2. การปรับใช้ Dash ไปยัง Heroku
  3. ราคาและบริการของ 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