พื้นที่เก็บข้อมูลนี้ประกอบด้วยงานที่ฉันส่งมาสำหรับการวิเคราะห์ข้อมูลขนาดใหญ่ของ Coursera MOOC ด้วย Scala และ Spark ซึ่งมอบให้โดย École Polytechnique Fédérale de Lausanne (EPFL) และสอนโดย Prof. Heather C. Miller
การจัดการข้อมูลขนาดใหญ่ที่กระจายไปทั่วคลัสเตอร์โดยใช้แนวคิดเชิงฟังก์ชันกำลังแพร่หลายในอุตสาหกรรม และถือได้ว่าเป็นหนึ่งในการนำแนวคิดเชิงฟังก์ชันไปใช้อย่างแพร่หลายในอุตสาหกรรมเป็นครั้งแรก สิ่งนี้เห็นได้จากความนิยมของ MapReduce และ Hadoop และล่าสุด Apache Spark ซึ่งเป็นเฟรมเวิร์กคอลเลกชันแบบกระจายในหน่วยความจำที่รวดเร็วที่เขียนด้วย Scala ในหลักสูตรนี้ เราจะดูว่ากระบวนทัศน์ข้อมูลคู่ขนานสามารถขยายไปยังเคสแบบกระจายโดยใช้ Spark ได้อย่างไร เราจะกล่าวถึงโมเดลการเขียนโปรแกรมของ Spark อย่างละเอียด โดยระมัดระวังในการทำความเข้าใจว่าโมเดลการเขียนโปรแกรมที่คุ้นเคยแตกต่างจากโมเดลการเขียนโปรแกรมที่คุ้นเคยอย่างไรและเมื่อใด เช่น คอลเลกชั่นหน่วยความจำแบบแชร์ร่วมกันหรือคอลเลกชั่น Scala ตามลำดับ จากตัวอย่างเชิงปฏิบัติใน Spark และ Scala เราจะเรียนรู้ว่าเมื่อใดควรพิจารณาปัญหาสำคัญที่เกี่ยวข้องกับการกระจาย เช่น เวลาแฝงและการสื่อสารเครือข่าย และวิธีที่สามารถแก้ไขได้อย่างมีประสิทธิผลเพื่อปรับปรุงประสิทธิภาพ
ผลการเรียนรู้ เมื่อจบหลักสูตรนี้ คุณจะสามารถ:
พื้นหลังที่แนะนำ: คุณควรมีประสบการณ์การเขียนโปรแกรมอย่างน้อยหนึ่งปี ความเชี่ยวชาญด้าน Java หรือ C# ถือว่าเหมาะสม แต่ประสบการณ์กับภาษาอื่นๆ เช่น C/C++, Python, Javascript หรือ Ruby ก็เพียงพอแล้ว คุณควรมีความคุ้นเคยในการใช้บรรทัดคำสั่ง หลักสูตรนี้จัดทำขึ้นหลังจากการเขียนโปรแกรมแบบขนาน: https://www.coursera.org/learn/parprog1
วันที่เริ่ม : 4 ม.ค. 2565
วันที่สร้างเสร็จ : 10 ม.ค. 2565
สัปดาห์ : 1
บทเรียน : การใช้ Scala REPL การใช้เครื่องมือ SBT
Description : "เป้าหมายของงานนี้คือการทำความคุ้นเคยกับโครงสร้างพื้นฐานและเครื่องมือที่จำเป็นในชั้นเรียนนี้ แม้ว่าเกรดในงานนี้จะไม่รวมจากเกรดสุดท้ายของคุณในหลักสูตร แต่สิ่งสำคัญคือคุณต้องทำงานผ่านงานนี้ อย่างระมัดระวัง."
เกรด : 10 / 10
สัปดาห์ : 1
บทเรียน : พื้นฐานของ RDD ของ Spark
คำอธิบาย : "ในงานมอบหมายนี้ เราจะใช้ข้อมูลฉบับเต็มจากวิกิพีเดียเพื่อสร้างเกณฑ์วัดเบื้องต้นว่าภาษาการเขียนโปรแกรมได้รับความนิยมเพียงใด ด้วยความพยายามที่จะดูว่าการจัดอันดับตามวิกิพีเดียของเรามีความสัมพันธ์ใดๆ กับพระแดงที่ได้รับความนิยมหรือไม่ การจัดอันดับ"
เกรด : 10 / 10
สัปดาห์ : 2 (การมอบหมายงานยาวสองสัปดาห์)
บทเรียน : การดำเนินการลดและคู่คีย์-ค่าแบบกระจาย
คำอธิบาย : "เป้าหมายโดยรวมของงานนี้ คือ การใช้อัลกอริธึมเคมีนแบบกระจาย ซึ่งจัดกลุ่มโพสต์บนแพลตฟอร์มคำถาม-คำตอบยอดนิยม StackOverflow ตามคะแนน นอกจากนี้ การจัดกลุ่มนี้ควรดำเนินการแบบขนานสำหรับภาษาโปรแกรมต่างๆ และ ควรเปรียบเทียบผลลัพธ์"
เกรด : 10 / 10
สัปดาห์ : 4
บทเรียน : SQL, Dataframes และชุดข้อมูล
คำอธิบาย : “เป้าหมายของเราคือการระบุกิจกรรม 3 กลุ่ม ได้แก่ ความต้องการหลัก (การนอนและการรับประทานอาหาร) การทำงาน อื่นๆ (การพักผ่อน) แล้วสังเกตดูว่าผู้คนจัดสรรเวลาระหว่างกิจกรรมทั้งสามประเภทนี้อย่างไร และถ้าเรามองเห็น ความแตกต่างระหว่างชายและหญิง คนมีงานทำและผู้ว่างงาน และคนหนุ่มสาว (อายุน้อยกว่า 22 ปี) กระตือรือร้น (อายุระหว่าง 22 ถึง 55 ปี) และผู้สูงอายุ"
เกรด : 10 / 10
ต้องแตกไฟล์ทรัพยากรออกเพื่อให้โค้ดทำงานได้