ฉันต้องเรียนรู้ Hadoop เพื่อเป็นนักวิทยาศาสตร์ข้อมูลหรือไม่?


38

นักวิทยาศาสตร์ข้อมูลที่ต้องการที่นี่ ฉันไม่รู้อะไรเกี่ยวกับ Hadoop แต่เมื่อฉันได้อ่านเกี่ยวกับ Data Science และ Big Data ฉันเห็นการพูดคุยมากมายเกี่ยวกับ Hadoop จำเป็นหรือไม่ที่จะต้องเรียนรู้ Hadoop เพื่อเป็นนักวิทยาศาสตร์ข้อมูล?


1
คำถามระดับนี้กำลังถูกกล่าวถึงในเมตาดาต้า คุณสามารถแสดงความคิดเห็นของคุณในโพสต์เมตานี้
asheeshr

ไม่จำเป็นอย่างยิ่ง มันเป็นเพียงหนึ่งในเครื่องมือ สิ่งที่จำเป็นคือความเข้าใจในสถิติและพีชคณิตเชิงเส้น การเลือกเครื่องมือเป็นเรื่องรอง
Victor

ดู e-book ฟรีและพยายามตอบคำถามของคุณ oreilly.com/data/free/files/analyzing-the-analyzers.pdf
Espanta

ฉันมีคำถามที่คล้ายกันเกี่ยวกับ IBM Watson Analytics, Bigquery ของ Google และการวิเคราะห์บนคลาวด์อื่น ๆ คือเทคโนโลยีนี้ดีกว่า Hadoop และจุดประกาย ..... ฉันเพิ่งเริ่มเรียนรู้ Hadoop และจุดประกายและฉันจำเป็นต้องเรียนรู้ Hadoop และจุดประกาย ทำการวิเคราะห์ข้อมูลขนาดใหญ่

คำตอบ:


47

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

ฉันจะบอกว่านักวิทยาศาสตร์ข้อมูลควรคุ้นเคยกับแนวคิดเช่น MapReduce, ระบบกระจาย, ระบบไฟล์แบบกระจาย, และสิ่งที่คล้ายกัน, แต่ฉันจะไม่ตัดสินคนที่ไม่รู้เกี่ยวกับสิ่งเหล่านี้

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

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


10

ในฐานะอดีตวิศวกร Hadoop มันไม่จำเป็น แต่มันช่วยได้ Hadoop เป็นเพียงระบบเดียว - เป็นระบบที่พบมากที่สุดบนพื้นฐานของ Java และระบบนิเวศของผลิตภัณฑ์ซึ่งใช้เทคนิคเฉพาะ "Map / ย่อ" เพื่อให้ได้ผลลัพธ์ในเวลาที่เหมาะสม Hadoop ไม่ได้ใช้ที่ Google แต่ฉันรับรองว่าพวกเขาใช้การวิเคราะห์ข้อมูลขนาดใหญ่ Google ใช้ระบบของตัวเองพัฒนาใน C ++ ในความเป็นจริง Hadoop ถูกสร้างขึ้นเป็นผลมาจาก Google เผยแพร่เอกสารสีขาวแผนที่ / ลดและ BigTable (HBase ใน Hadoop)

นักวิทยาศาสตร์ด้านข้อมูลจะประสานงานกับวิศวกรของ Hadoop แต่ในสถานที่เล็ก ๆ คุณอาจต้องสวมหมวกทั้งสองใบ หากคุณเป็นนักวิทยาศาสตร์ด้านข้อมูลอย่างเคร่งครัดสิ่งใดก็ตามที่คุณใช้สำหรับการวิเคราะห์ R, Excel, Tableau และอื่น ๆ จะทำงานเฉพาะในชุดย่อยขนาดเล็กดังนั้นคุณจะต้องแปลงให้ทำงานกับชุดข้อมูลแบบเต็มที่เกี่ยวข้องกับ hadoop


8

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


เห็นได้ชัดว่าคนส่วนใหญ่ใช้ Hadoop สำหรับการวิเคราะห์ สิ่งที่ฉันคิดคือฉันต้องการอะไรแบบนั้นหรือมีความรู้เกี่ยวกับฐานข้อมูล ML สถิติเพียงพอหรือไม่
Pensu

5

ใช่คุณควรเรียนรู้แพลตฟอร์มที่สามารถแยกแยะปัญหาของคุณเป็นปัญหาข้อมูลคู่ขนาน Hadoop เป็นหนึ่ง สำหรับความต้องการที่เรียบง่ายของคุณ (รูปแบบการออกแบบเช่นการนับการรวมตัวกรอง ฯลฯ ) คุณต้องการ Hadoop และการเรียนรู้ของเครื่องที่ซับซ้อนมากขึ้นเช่นการทำ Bayesian, SVM คุณต้อง Mahout ซึ่ง Hadoop ต้องการตอนนี้ (Apache Apache Spark) วิธีการข้อมูลแบบขนาน

ดังนั้น Hadoop จึงเป็นแพลตฟอร์มที่ดีในการเรียนรู้และมีความสำคัญต่อความต้องการในการประมวลผลแบบกลุ่มของคุณ Hadoop ไม่เพียง แต่คุณต้องรู้ว่า Spark (Mahout ทำงานเป็นอัลกอริทึมที่ใช้ Spark) และ Twitter Storm (สำหรับการวิเคราะห์ตามเวลาจริงของคุณ) รายการนี้จะดำเนินการต่อและพัฒนาดังนั้นหากคุณทำสิ่งที่ดีต่อการสร้างบล็อค (การคำนวณแบบกระจายปัญหาเกี่ยวกับข้อมูลแบบขนานและอื่น ๆ ) และรู้ว่าแพลตฟอร์มดังกล่าว (พูด Hadoop) ทำงานอย่างไรคุณจะเร็วขึ้น


4

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

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

ดังนั้นฉันจะบอกว่ามันไม่จำเป็นอย่างยิ่งที่จะเรียนรู้ Hadoop


2

คุณควรเรียนรู้ Hadoop ถ้าคุณต้องการทำงานเป็นนักวิทยาศาสตร์ด้านข้อมูล แต่ก่อนที่คุณจะเริ่มเรียนกับ Hadoop คุณควรอ่านบางอย่างเกี่ยวกับ ETL หรือ Big Data ... หนังสือเล่มนี้อาจเป็นจุดเริ่มต้นที่ดี: http://www.amazon.com / บิ๊กข้อมูลหลักการปฏิบัติที่สามารถปรับขนาด / DP / 1617290343

หวังว่ามันจะช่วยและขอให้โชคดี!


2

คุณสามารถใช้เทคนิควิทยาศาสตร์ข้อมูลกับข้อมูลในเครื่องเดียวดังนั้นคำตอบของคำถามในรูป OP ที่ใช้คือไม่มี


1

วิทยาศาสตร์ข้อมูลเป็นสาขาที่ต้องการทักษะที่หลากหลาย การมีความรู้เกี่ยวกับ Hadoop เป็นหนึ่งในนั้น ภารกิจหลักของ Data Scientist ได้แก่ :

  1. รวบรวมข้อมูลจากแหล่งข้อมูลต่าง ๆ
  2. การทำความสะอาดและประมวลผลข้อมูลล่วงหน้า
  3. การศึกษาคุณสมบัติทางสถิติของข้อมูล
  4. การใช้เทคนิคการเรียนรู้ของเครื่องเพื่อทำการพยากรณ์และรับข้อมูลเชิงลึกจากข้อมูล
  5. การสื่อสารผลลัพธ์ไปยังผู้มีอำนาจตัดสินใจในวิธีที่เข้าใจง่าย

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

http://www.codophile.com/big-data-frameworks-every-programmer-should-know/


1

ฉันคิดว่ากรอบการเอนพิง Hadoop (ยากมาก) ไม่ใช่ข้อกำหนดของการเป็นนักวิทยาศาสตร์ข้อมูล ความรู้ทั่วไปในทุกแพลตฟอร์มข้อมูลขนาดใหญ่เป็นสิ่งจำเป็น ฉันจะแนะนำให้รู้จักแนวคิดเกี่ยวกับมันและต้องการเพียงบางส่วนจาก Hadoop คือ MapReduce http://hadoop.apache.org/docs/current/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html

นักวิทยาศาสตร์ด้านข้อมูลไม่ได้สร้างคลัสเตอร์จัดการ ... เพียงสร้าง "เวทมนต์" กับข้อมูลและไม่สนใจว่ามาจากไหน คำว่า "Hadoop" ไม่ได้หมายถึงเพียงแค่โมดูลพื้นฐานด้านบน แต่ยังรวมถึง "ระบบนิเวศ" หรือชุดซอฟต์แวร์เพิ่มเติมที่สามารถติดตั้งที่ด้านบนของหรือข้าง Hadoop เช่น Apache Pig, Apache Hive Apache HBase, Apache Spark และอื่น ๆ

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

การเข้าถึงข้อมูลจาก hdfs เป็นสิ่งจำเป็นตัวอย่างเช่น PROC Hadoop, Hive, SparkContext หรือไดรเวอร์หรือไพพ์อื่น ๆ (ถือว่า hadoop เป็นจุดของการเก็บข้อมูลหรือการจัดเก็บ :)

มีเครื่องมือหรือกรอบสิ่งที่ดูแลการจัดสรรทรัพยากรและการจัดการประสิทธิภาพ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.