Tôi có cần học Hadoop để trở thành Nhà khoa học dữ liệu không?


38

Một nhà khoa học dữ liệu đầy tham vọng ở đây. Tôi không biết gì về Hadoop, nhưng khi tôi đọc về Khoa học dữ liệu và Dữ liệu lớn, tôi thấy rất nhiều thảo luận về Hadoop. Có nhất thiết phải học Hadoop để trở thành một nhà khoa học dữ liệu không?


1
Lớp câu hỏi này đang được thảo luận về meta. Bạn có thể nói lên ý kiến ​​của mình về bài đăng meta
asheeshr

Nó không hoàn toàn cần thiết. Nó chỉ là một trong những công cụ. Điều cần thiết là sự hiểu biết về thống kê và đại số tuyến tính. Sự lựa chọn của công cụ là thứ yếu.
Victor

Nhìn vào cuốn sách điện tử miễn phí này và nó cố gắng trả lời câu hỏi của bạn. oreilly.com/data/free/files/analyzing-the-analyzers.pdf
Espanta

Tôi có một câu hỏi tương tự trên IBM Watson Analytics, Google Bigquery và các phân tích dựa trên đám mây khác là công nghệ này tốt hơn Hadoop và spark ..... Tôi mới bắt đầu học Hadoop và spark và tôi thực sự cần học Hadoop và spark làm phân tích dữ liệu lớn

Câu trả lời:


47

Những người khác nhau sử dụng các công cụ khác nhau cho những thứ khác nhau. Các thuật ngữ như Khoa học dữ liệu là chung cho một lý do. Một nhà khoa học dữ liệu có thể dành toàn bộ sự nghiệp mà không cần phải học một công cụ cụ thể như hadoop. Hadoop được sử dụng rộng rãi, nhưng nó không phải là nền tảng duy nhất có khả năng quản lý và thao tác dữ liệu, thậm chí là dữ liệu quy mô lớn.

Tôi sẽ nói rằng một nhà khoa học dữ liệu nên làm quen với các khái niệm như MapReduce, hệ thống phân tán, hệ thống tệp phân tán và tương tự, nhưng tôi sẽ không phán xét ai đó vì không biết về những điều đó.

Đó là một lĩnh vực lớn. Có một biển kiến ​​thức và hầu hết mọi người đều có khả năng học hỏi và trở thành một chuyên gia trong một lần thả. Chìa khóa để trở thành một nhà khoa học là có khát khao học hỏi và động lực để biết điều mà bạn chưa biết.

Ví dụ: Tôi có thể trao cho đúng người một trăm tệp CSV có cấu trúc chứa thông tin về hiệu suất lớp học trong một lớp cụ thể trong một thập kỷ. Một nhà khoa học dữ liệu sẽ có thể dành một năm để thu thập thông tin chuyên sâu về dữ liệu mà không cần phải truyền bá tính toán trên nhiều máy. Bạn có thể áp dụng thuật toán học máy, phân tích bằng cách sử dụng trực quan hóa, kết hợp nó với dữ liệu bên ngoài về khu vực, trang điểm dân tộc, thay đổi môi trường theo thời gian, thông tin chính trị, mô hình thời tiết, v.v ... Theo tôi, tất cả đó sẽ là "khoa học dữ liệu" . Có thể cần một cái gì đó giống như hadoop để kiểm tra và áp dụng bất cứ điều gì bạn đã học vào dữ liệu bao gồm toàn bộ quốc gia của sinh viên thay vì chỉ là một lớp học, nhưng bước cuối cùng đó không nhất thiết phải biến ai đó thành nhà khoa học dữ liệu.


10

Là một cựu kỹ sư của Hadoop, nó không cần thiết nhưng nó giúp. Hadoop chỉ là một hệ thống - hệ thống phổ biến nhất, dựa trên Java và hệ sinh thái các sản phẩm, áp dụng một kỹ thuật cụ thể "Bản đồ / Giảm" để thu được kết quả kịp thời. Hadoop không được sử dụng tại Google, mặc dù tôi đảm bảo với bạn rằng họ sử dụng các phân tích dữ liệu lớn. Google sử dụng các hệ thống của riêng họ, được phát triển trong C ++. Trên thực tế, Hadoop đã được tạo ra do Google xuất bản các trang trắng Map / Giảm và BigTable (HBase in Hadoop) của họ.

Các nhà khoa học dữ liệu sẽ giao tiếp với các kỹ sư của hadoop, mặc dù tại những nơi nhỏ hơn bạn có thể phải đội cả hai chiếc mũ. Nếu bạn thực sự là một nhà khoa học dữ liệu, thì bất cứ thứ gì bạn sử dụng cho các phân tích, R, Excel, Tableau, v.v., sẽ chỉ hoạt động trên một tập hợp con nhỏ, sau đó sẽ cần phải được chuyển đổi để chạy với tập dữ liệu đầy đủ liên quan đến hadoop.


8

Trước tiên bạn phải làm rõ ý của bạn bằng cách "học Hadoop". Nếu bạn có nghĩa là sử dụng Hadoop, chẳng hạn như học lập trình trong MapReduce, thì có lẽ đó là một ý tưởng tốt. Nhưng kiến ​​thức cơ bản (cơ sở dữ liệu, học máy, thống kê) có thể đóng vai trò lớn hơn khi thời gian trôi qua.


Rõ ràng hầu hết mọi người đang sử dụng Hadoop để phân tích. Những gì tôi đang nghĩ là tôi cần một cái gì đó như thế hoặc kiến ​​thức về cơ sở dữ liệu, ML, số liệu thống kê là đủ?
Pensu

5

Có, bạn nên tìm hiểu một nền tảng có khả năng phân tích vấn đề của bạn dưới dạng vấn đề song song dữ liệu. Hadoop là một. Đối với các nhu cầu đơn giản của bạn (các mẫu thiết kế như đếm, tổng hợp, lọc, v.v.), bạn cần Hadoop và đối với các công cụ Machine Learning phức tạp hơn như thực hiện một số Bayesian, SVM, bạn cần Mahout, từ đó cần Hadoop (Bây giờ là Apache Spark) để giải quyết vấn đề của bạn bằng cách sử dụng một cách tiếp cận song song dữ liệu.

Vì vậy, Hadoop là một nền tảng tốt để tìm hiểu và thực sự quan trọng cho nhu cầu xử lý hàng loạt của bạn. Không chỉ Hadoop mà bạn cũng cần biết Spark (Mahout chạy thuật toán sử dụng Spark) & Twitter Storm (cho nhu cầu phân tích thời gian thực của bạn). Danh sách này sẽ tiếp tục và phát triển, vì vậy nếu bạn giỏi với các khối xây dựng (Tính toán phân tán, Vấn đề song song dữ liệu, v.v.) và biết cách một nền tảng như vậy (nói Hadoop) hoạt động, bạn sẽ nhanh chóng tăng tốc độ cho người khác.


4

Nó phụ thuộc rất nhiều vào môi trường / công ty bạn đang làm việc. Trong mắt tôi có một sự cường điệu "dữ liệu lớn" vào lúc này và rất nhiều công ty cố gắng tham gia vào lĩnh vực này bằng các giải pháp dựa trên hadoop - điều khiến cho hadoop cũng là một từ thông dụng nhưng nó không phải luôn là giải pháp tốt nhất.

Trong tâm trí của tôi, một Nhà khoa học dữ liệu giỏi sẽ có thể hỏi đúng câu hỏi và tiếp tục hỏi lại cho đến khi rõ ràng những gì thực sự cần thiết. Hơn một DataSellectist giỏi - tất nhiên - cần biết cách giải quyết vấn đề (hoặc ít nhất là biết ai đó có thể). Nếu không, các bên liên quan của bạn có thể bị thất vọng :-)

Vì vậy, tôi sẽ nói rằng nó không hoàn toàn cần thiết để học Hadoop.



2

Bạn có thể áp dụng các kỹ thuật khoa học dữ liệu cho dữ liệu trên một máy, vì vậy câu trả lời cho câu hỏi như OP đặt ra là không.


1

Khoa học dữ liệu là một lĩnh vực đòi hỏi nhiều kỹ năng. Có kiến ​​thức về Hadoop là một trong số đó. Các nhiệm vụ chính của Nhà khoa học dữ liệu bao gồm:

  1. Thu thập dữ liệu từ các tài nguyên khác nhau.
  2. Làm sạch và xử lý trước dữ liệu.
  3. Nghiên cứu tính chất thống kê của dữ liệu.
  4. Sử dụng các kỹ thuật Machine Learning để dự báo và rút ra những hiểu biết sâu sắc từ dữ liệu.
  5. Truyền đạt kết quả cho những người ra quyết định một cách dễ hiểu.

Trong số các điểm trên, kiến ​​thức về Hadoop rất hữu ích cho các điểm 1,2 và 3, nhưng bạn cũng cần có nền tảng toán học / thống kê mạnh mẽ và kiến ​​thức vững chắc về các kỹ thuật tính toán để làm việc trong lĩnh vực khoa học dữ liệu. Ngoài ra Hadoop không phải là khung duy nhất đang được sử dụng trong Khoa học dữ liệu. Hệ sinh thái Dữ liệu lớn có một loạt các khung, mỗi khung cụ thể cho một trường hợp sử dụng cụ thể. Bài viết này cung cấp tài liệu giới thiệu về các khung Dữ liệu lớn có thể được sử dụng trong Khoa học dữ liệu:

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


1

Tôi nghĩ rằng khuôn khổ Leaning Hadoop (cách khó) không phải là một yêu cầu để trở thành một Nhà khoa học dữ liệu. Kiến thức chung về tất cả các nền tảng dữ liệu lớn là điều cần thiết. Tôi sẽ đề nghị biết khái niệm về nó và chỉ một phần cần từ Hadoop là MapReduce http://hadoop.apache.org/docs/civerse/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html

Một nhà khoa học dữ liệu không xây dựng cụm, quản trị viên ... chỉ tạo ra "ma thuật" với dữ liệu và không quan tâm đến từ đâu. Thuật ngữ "Hadoop" đã được dùng để chỉ không chỉ các mô-đun cơ sở ở trên, mà còn về "hệ sinh thái" hoặc bộ sưu tập các gói phần mềm bổ sung có thể được cài đặt trên đầu hoặc bên cạnh Hadoop, như Apache Pig, Apache Hive, Apache HBase, Apache Spark và những người khác.

Quan trọng nhất là ngôn ngữ lập trình, toán học và thống kê để làm việc với dữ liệu (bạn sẽ cần tìm cách kết nối với dữ liệu và tiến về phía trước). Tôi ước tôi có ai đó chỉ cho tôi khái niệm và không mất nhiều tuần để học khung và xây dựng từ các nút và cụm đầu, bởi vì phần đó là vai trò Quản trị viên chứ không phải Kỹ sư dữ liệu hoặc Nhà khoa học dữ liệu. Ngoài ra một điều: tất cả đang thay đổi và phát triển nhưng toán học, lập trình, thống kê vẫn là những yêu cầu.

truy cập dữ liệu từ hdfs là điều cần thiết, ví dụ PROC Hadoop, Hive, SparkContext hoặc bất kỳ trình điều khiển hoặc đường ống nào khác (coi hadoop là một điểm tích lũy dữ liệu hoặc lưu trữ :)

đã có sẵn các công cụ hoặc khung công tác đảm nhiệm việc phân bổ và quản lý tài nguyên, hiệu suất.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.