60 Hadoop hàng đầu & Câu hỏi phỏng vấn MapReduce & Câu trả lời

Anonim

tải PDF

Sau đây là những câu hỏi thường gặp trong các cuộc phỏng vấn dành cho nhân viên mới cũng như nhà phát triển có kinh nghiệm.

1) Hadoop Map Reduce là gì?

Để xử lý các tập dữ liệu lớn song song trên một cụm Hadoop, khung Hadoop MapReduce được sử dụng. Phân tích dữ liệu sử dụng một bản đồ hai bước và quy trình rút gọn.

2) Hadoop MapReduce hoạt động như thế nào?

Trong MapReduce, trong giai đoạn bản đồ, nó đếm các từ trong mỗi tài liệu, trong khi trong giai đoạn rút gọn, nó tổng hợp dữ liệu theo tài liệu trong toàn bộ tập hợp. Trong giai đoạn bản đồ, dữ liệu đầu vào được chia thành các phần để phân tích theo các tác vụ bản đồ chạy song song trên khuôn khổ Hadoop.

3) Giải thích xáo trộn trong MapReduce là gì?

Quá trình hệ thống thực hiện sắp xếp và chuyển các đầu ra của bản đồ đến bộ giảm tốc như các đầu vào được gọi là xáo trộn

4) Giải thích Cache phân tán trong MapReduce Framework là gì?

Bộ nhớ đệm phân tán là một tính năng quan trọng được cung cấp bởi khung MapReduce. Khi bạn muốn chia sẻ một số tệp trên tất cả các nút trong Cụm Hadoop, Bộ đệm phân tán được sử dụng. Các tệp có thể là tệp jar thực thi hoặc tệp thuộc tính đơn giản.

5) Giải thích NameNode trong Hadoop là gì?

NameNode trong Hadoop là nút, nơi Hadoop lưu trữ tất cả thông tin vị trí tệp trong HDFS (Hệ thống tệp phân tán Hadoop). Nói cách khác, NameNode là trung tâm của hệ thống tệp HDFS. Nó giữ bản ghi của tất cả các tệp trong hệ thống tệp và theo dõi dữ liệu tệp trên toàn bộ cụm hoặc nhiều máy

6) Giải thích JobTracker trong Hadoop là gì? Các hành động được theo sau bởi Hadoop là gì?

Trong Hadoop để gửi và theo dõi các công việc MapReduce, JobTracker được sử dụng. Trình theo dõi công việc chạy trên quy trình JVM của riêng nó

Trình theo dõi công việc thực hiện các hành động sau trong Hadoop

  • Ứng dụng khách hàng gửi công việc cho trình theo dõi công việc
  • JobTracker giao tiếp với chế độ Tên để xác định vị trí dữ liệu
  • Gần dữ liệu hoặc với các vị trí có sẵn JobTracker định vị các nút TaskTracker
  • Trên các nút TaskTracker đã chọn, nó gửi công việc
  • Khi một nhiệm vụ không thành công, Trình theo dõi công việc sẽ thông báo và quyết định việc cần làm sau đó.
  • Các nút TaskTracker được JobTracker giám sát

7) Giải thích nhịp tim trong HDFS là gì?

Nhịp tim được đề cập đến một tín hiệu được sử dụng giữa nút dữ liệu và nút Tên và giữa trình theo dõi tác vụ và trình theo dõi công việc, nếu nút Tên hoặc trình theo dõi công việc không phản hồi tín hiệu thì được coi là có một số vấn đề với nút dữ liệu hoặc tác vụ người theo dõi

8) Giải thích bộ kết hợp là gì và khi nào bạn nên sử dụng bộ kết hợp trong Công việc MapReduce?

Để tăng hiệu quả của Chương trình MapReduce, các Bộ kết hợp được sử dụng. Số lượng dữ liệu có thể được giảm bớt với sự trợ giúp của bộ kết hợp cần được chuyển qua bộ giảm. Nếu thao tác được thực hiện là giao hoán và liên kết, bạn có thể sử dụng mã giảm tốc của mình làm bộ kết hợp. Việc thực thi trình kết hợp không được đảm bảo trong Hadoop

9) Điều gì xảy ra khi một nút dữ liệu bị lỗi?

Khi một nút dữ liệu bị lỗi

  • Trình theo dõi công việc và nút tên phát hiện lỗi
  • Trên nút bị lỗi, tất cả các tác vụ được lên lịch lại
  • Namenode sao chép dữ liệu của người dùng sang một nút khác

10) Giải thích thực thi đầu cơ là gì?

Trong Hadoop trong khi Thực thi Đầu cơ, một số tác vụ trùng lặp nhất định được khởi chạy. Trên một nút phụ khác, nhiều bản sao của cùng một bản đồ hoặc tác vụ thu gọn có thể được thực thi bằng Thực thi đầu cơ. Nói cách đơn giản, nếu một ổ đĩa cụ thể mất nhiều thời gian để hoàn thành một tác vụ, Hadoop sẽ tạo một tác vụ trùng lặp trên một đĩa khác. Đĩa hoàn thành nhiệm vụ trước sẽ được giữ lại và các đĩa không hoàn thành trước sẽ bị giết.

11) Giải thích các thông số cơ bản của Mapper là gì?

Các thông số cơ bản của Mapper là

  • Văn bản và Ghi dài
  • Văn bản và có thể ghi được

12) Giải thích chức năng của trình phân vùng MapReduce là gì?

Chức năng của bộ phân vùng MapReduce là đảm bảo rằng tất cả giá trị của một khóa duy nhất sẽ chuyển đến cùng một bộ giảm tốc, cuối cùng điều này giúp phân phối đồng đều đầu ra bản đồ trên các bộ giảm

13) Giải thích sự khác biệt giữa Khối đầu vào và Khối HDFS là gì?

Sự phân chia logic của dữ liệu được gọi là Split trong khi sự phân chia dữ liệu vật lý được gọi là Khối HDFS

14) Giải thích hiện tượng xảy ra ở dạng văn bản?

Ở định dạng nhập văn bản, mỗi dòng trong tệp văn bản là một bản ghi. Giá trị là nội dung của dòng trong khi Khóa là độ lệch byte của dòng. Ví dụ: Khóa: longW ghi được, Giá trị: văn bản

15) Đề cập đến các thông số cấu hình chính mà người dùng cần chỉ định để chạy MapReduce Job là gì?

Người dùng khung MapReduce cần chỉ định

  • Vị trí đầu vào của công việc trong hệ thống tệp phân tán
  • Vị trí đầu ra của công việc trong hệ thống tệp phân tán
  • định dạng đầu vào
  • Định dạng đầu ra
  • Lớp chứa hàm bản đồ
  • Lớp chứa hàm giảm
  • Tệp JAR chứa các lớp ánh xạ, bộ giảm tốc và trình điều khiển

16) Giải thích WebDAV trong Hadoop là gì?

Để hỗ trợ chỉnh sửa và cập nhật tệp WebDAV là một tập hợp các phần mở rộng cho HTTP. Trên hầu hết các hệ điều hành, chia sẻ WebDAV có thể được gắn kết dưới dạng hệ thống tệp, vì vậy có thể truy cập HDFS như một hệ thống tệp tiêu chuẩn bằng cách hiển thị HDFS qua WebDAV.

17) Giải thích Sqoop trong Hadoop là gì?

Để chuyển dữ liệu giữa quản lý cơ sở dữ liệu quan hệ (RDBMS) và Hadoop HDFS, một công cụ được sử dụng được gọi là Sqoop. Sử dụng dữ liệu Sqoop có thể được chuyển từ RDMS như MySQL hoặc Oracle sang HDFS cũng như xuất dữ liệu từ tệp HDFS sang RDBMS

18) Giải thích cách JobTracker lập lịch cho một nhiệm vụ?

Trình theo dõi tác vụ gửi thông báo nhịp tim đến Jobtracker thường vài phút một lần để đảm bảo rằng JobTracker đang hoạt động và hoạt động. Thông báo cũng thông báo cho JobTracker về số lượng vị trí khả dụng, vì vậy JobTracker có thể cập nhật trong đó công việc cụm có thể được ủy quyền

19) Giải thích Sequencefileinputformat là gì?

Sequencefileinputformat được sử dụng để đọc các tệp theo trình tự. Đây là một định dạng tệp nhị phân được nén cụ thể được tối ưu hóa để truyền dữ liệu giữa đầu ra của một công việc MapReduce đến đầu vào của một số công việc MapReduce khác.

20) Giải thích Lớp conf.setMapper làm gì?

Conf.setMapperclass đặt lớp ánh xạ và tất cả những thứ liên quan đến công việc bản đồ, chẳng hạn như đọc dữ liệu và tạo một cặp khóa-giá trị từ trình ánh xạ

21) Giải thích Hadoop là gì?

Nó là một khung phần mềm mã nguồn mở để lưu trữ dữ liệu và chạy các ứng dụng trên các cụm phần cứng hàng hóa. Nó cung cấp sức mạnh xử lý khổng lồ và dung lượng lưu trữ lớn cho bất kỳ loại dữ liệu nào.

22) Đề cập đến sự khác biệt giữa RDBMS và Hadoop là gì?

RDBMS Hadoop
RDBMS là một hệ thống quản lý cơ sở dữ liệu quan hệ Hadoop là một cấu trúc phẳng dựa trên nút
Nó được sử dụng để xử lý OLTP trong khi Hadoop Nó hiện được sử dụng để phân tích và xử lý DỮ LIỆU LỚN
Trong RDBMS, cụm cơ sở dữ liệu sử dụng các tệp dữ liệu giống nhau được lưu trữ trong bộ nhớ dùng chung Trong Hadoop, dữ liệu lưu trữ có thể được lưu trữ độc lập trong mỗi nút xử lý.
Bạn cần xử lý trước dữ liệu trước khi lưu trữ bạn không cần phải xử lý trước dữ liệu trước khi lưu trữ

23) Đề cập đến các thành phần cốt lõi của Hadoop?

Các thành phần cốt lõi của Hadoop bao gồm,

  • HDFS
  • MapReduce

24) NameNode trong Hadoop là gì?

NameNode trong Hadoop là nơi Hadoop lưu trữ tất cả thông tin vị trí tệp trong HDFS. Nó là nút chính mà trình theo dõi công việc chạy và bao gồm siêu dữ liệu.

25) Đề cập đến các thành phần dữ liệu được sử dụng bởi Hadoop là gì?

Các thành phần dữ liệu được Hadoop sử dụng là

  • Con lợn
  • Hive

26) Đề cập đến thành phần lưu trữ dữ liệu được sử dụng bởi Hadoop là gì?

Thành phần lưu trữ dữ liệu được Hadoop sử dụng là HBase.

27) Đề cập đến các định dạng đầu vào phổ biến nhất được định nghĩa trong Hadoop là gì?

Các định dạng đầu vào phổ biến nhất được định nghĩa trong Hadoop là;

  • TextInputFormat
  • KeyValueInputFormat
  • SequenceFileInputFormat

28) Trong Hadoop InputSplit là gì?

Nó chia các tập tin đầu vào thành nhiều phần và gán mỗi phần cho một người lập bản đồ để xử lý.

29) Đối với công việc Hadoop, bạn sẽ viết một trình phân vùng tùy chỉnh như thế nào?

Bạn viết một trình phân vùng tùy chỉnh cho công việc Hadoop, bạn làm theo đường dẫn sau

  • Tạo một lớp mới mở rộng Lớp phân vùng
  • Ghi đè phương thức getPartition
  • Trong trình bao bọc chạy MapReduce
  • Thêm trình phân vùng tùy chỉnh vào công việc bằng cách sử dụng phương pháp đặt Lớp phân vùng hoặc - thêm trình phân vùng tùy chỉnh vào công việc dưới dạng tệp cấu hình

30) Đối với một công việc trong Hadoop, có thể thay đổi số lượng trình ánh xạ sẽ được tạo không?

Không, không thể thay đổi số lượng trình ánh xạ sẽ được tạo. Số lượng trình ánh xạ được xác định bởi số lượng phân tách đầu vào.

31) Giải thích tệp trình tự trong Hadoop là gì?

Để lưu trữ các cặp khóa / giá trị nhị phân, tệp trình tự được sử dụng. Không giống như tệp nén thông thường, tệp tuần tự hỗ trợ chia nhỏ ngay cả khi dữ liệu bên trong tệp được nén.

32) Khi Namenode không hoạt động, điều gì sẽ xảy ra với trình theo dõi công việc?

Namenode là điểm thất bại duy nhất trong HDFS vì vậy khi Namenode không hoạt động, cụm của bạn sẽ hoạt động.

33) Giải thích cách lập chỉ mục trong HDFS được thực hiện như thế nào?

Hadoop có một cách lập chỉ mục độc đáo. Sau khi dữ liệu được lưu trữ theo kích thước khối, HDFS sẽ tiếp tục lưu trữ phần cuối cùng của dữ liệu cho biết phần tiếp theo của dữ liệu sẽ ở đâu.

34) Giải thích liệu có thể tìm kiếm tệp bằng ký tự đại diện không?

Có, có thể tìm kiếm tệp bằng ký tự đại diện.

35) Liệt kê ba tệp cấu hình của Hadoop?

Ba tệp cấu hình là

  • core-site.xml
  • mapred-site.xml
  • hdfs-site.xml

36) Giải thích cách bạn có thể kiểm tra xem Namenode có hoạt động hay không bên cạnh việc sử dụng lệnh jps?

Bên cạnh việc sử dụng lệnh jps, để kiểm tra xem Namenode có đang hoạt động hay không, bạn cũng có thể sử dụng

/etc/init.d/hadoop-0.20-namenode trạng thái.

37) Giải thích “bản đồ” là gì và “bộ giảm tốc” trong Hadoop là gì?

Trong Hadoop, bản đồ là một giai đoạn trong giải quyết truy vấn HDFS. Bản đồ đọc dữ liệu từ một vị trí đầu vào và xuất ra một cặp giá trị khóa tùy theo loại đầu vào.

Trong Hadoop, một trình giảm thiểu thu thập kết quả do trình ánh xạ tạo ra, xử lý nó và tạo ra kết quả cuối cùng của chính nó.

38) Trong Hadoop, tệp nào kiểm soát báo cáo trong Hadoop?

Trong Hadoop, tệp hadoop-metrics.properties kiểm soát báo cáo.

39) Để sử dụng Hadoop, hãy liệt kê các yêu cầu mạng?

Để sử dụng Hadoop, danh sách các yêu cầu mạng là:

  • Kết nối SSH không cần mật khẩu
  • Secure Shell (SSH) để khởi chạy các quy trình máy chủ

40) Đề cập đến nhận thức về giá đỡ là gì?

Nhận thức về giá đỡ là cách mà nút tên xác định cách đặt các khối dựa trên các định nghĩa về giá đỡ.

41) Giải thích Task Tracker trong Hadoop là gì?

Task Tracker trong Hadoop là một daemon nút nô lệ trong cụm chấp nhận các tác vụ từ JobTracker. Nó cũng gửi tin nhắn nhịp tim đến JobTracker, cứ sau vài phút, để xác nhận rằng JobTracker vẫn còn sống.

42) Đề cập đến những gì daemon chạy trên một nút chính và các nút phụ?

  • Daemon chạy trên nút Master là "NameNode"
  • Daemon chạy trên mỗi nút Slave là "Task Tracker" và "Data"

43) Giải thích cách bạn có thể gỡ lỗi mã Hadoop?

Các phương pháp phổ biến để gỡ lỗi mã Hadoop là:

  • Bằng cách sử dụng giao diện web do Hadoop framework cung cấp
  • Bằng cách sử dụng Bộ đếm

44) Giải thích các nút lưu trữ và tính toán là gì?

  • Nút lưu trữ là máy hoặc máy tính nơi hệ thống tệp của bạn cư trú để lưu trữ dữ liệu xử lý
  • Nút tính toán là máy tính hoặc máy tính mà logic nghiệp vụ thực tế của bạn sẽ được thực thi.

45) Đề cập đến việc sử dụng Đối tượng ngữ cảnh là gì?

Đối tượng ngữ cảnh cho phép trình ánh xạ tương tác với phần còn lại của Hadoop

hệ thống. Nó bao gồm dữ liệu cấu hình cho công việc, cũng như các giao diện cho phép nó phát ra đầu ra.

46) Đề cập bước tiếp theo sau Mapper hoặc MapTask là gì?

Bước tiếp theo sau Mapper hoặc MapTask là đầu ra của Mapper được sắp xếp và các phân vùng sẽ được tạo cho đầu ra.

47) Đề cập đến số lượng trình phân vùng mặc định trong Hadoop là gì?

Trong Hadoop, trình phân vùng mặc định là Trình phân vùng “băm”.

48) Giải thích mục đích của RecordReader trong Hadoop là gì?

Trong Hadoop, RecordReader tải dữ liệu từ nguồn của nó và chuyển đổi nó thành các cặp (khóa, giá trị) phù hợp để Mapper đọc.

49) Giải thích cách dữ liệu được phân vùng trước khi nó được gửi đến trình giảm thiểu nếu không có trình phân vùng tùy chỉnh nào được xác định trong Hadoop?

Nếu không có trình phân vùng tùy chỉnh nào được xác định trong Hadoop, thì trình phân vùng mặc định sẽ tính giá trị băm cho khóa và chỉ định phân vùng dựa trên kết quả.

50) Giải thích điều gì xảy ra khi Hadoop tạo ra 50 nhiệm vụ cho một công việc và một trong những nhiệm vụ không thành công?

Nó sẽ khởi động lại tác vụ trên một số TaskTracker khác nếu tác vụ không thành công nhiều hơn giới hạn đã xác định.

51) Đề cập đến cách tốt nhất để sao chép tệp giữa các cụm HDFS là gì?

Cách tốt nhất để sao chép tệp giữa các cụm HDFS là sử dụng nhiều nút và lệnh distcp, do đó, khối lượng công việc được chia sẻ.

52) Đề cập đến sự khác biệt giữa HDFS và NAS là gì?

Các khối dữ liệu HDFS được phân phối trên các ổ đĩa cục bộ của tất cả các máy trong một cụm trong khi dữ liệu NAS được lưu trữ trên phần cứng chuyên dụng.

53) Đề cập Hadoop khác với các công cụ xử lý dữ liệu khác như thế nào?

Trong Hadoop, bạn có thể tăng hoặc giảm số lượng người lập bản đồ mà không cần lo lắng về khối lượng dữ liệu cần xử lý.

54) Đề cập đến công việc mà lớp conf làm?

Lớp chia sẻ công việc tách các công việc khác nhau chạy trên cùng một cụm. Nó thực hiện cài đặt cấp độ công việc như khai báo công việc trong môi trường thực tế.

55) Đề cập đến hợp đồng Hadoop MapReduce APIs cho một lớp khóa và giá trị là gì?

Đối với lớp khóa và lớp giá trị, có hai hợp đồng API Hadoop MapReduce

  • Giá trị phải xác định giao diện org.apache.hadoop.io.Wording
  • Chìa khóa phải được xác định giao diện org.apache.hadoop.io.W rán có thể so sánh

56) Đề cập đến ba chế độ mà Hadoop có thể được chạy là gì?

Ba chế độ mà Hadoop có thể được chạy là

  • Chế độ phân phối giả
  • Chế độ độc lập (cục bộ)
  • Chế độ phân phối hoàn toàn

57) Đề cập định dạng nhập văn bản làm gì?

Định dạng nhập văn bản sẽ tạo một đối tượng dòng là một số thập lục phân. Giá trị được coi là toàn bộ văn bản dòng trong khi khóa được coi là đối tượng dòng. Trình ánh xạ sẽ nhận giá trị dưới dạng tham số "văn bản" trong khi khóa là tham số "có thể ghi được".

58) Đề cập đến bao nhiêu InputSplits được tạo bởi Hadoop Framework?

Hadoop sẽ thực hiện 5 lần tách

  • 1 lần phân chia cho 64K tệp
  • 2 chia cho các tệp 65mb
  • 2 phần tách cho các tệp 127mb

59) Đề cập đến bộ đệm phân tán trong Hadoop là gì?

Bộ nhớ đệm phân tán trong Hadoop là một cơ sở được cung cấp bởi khung công tác MapReduce. Tại thời điểm thực hiện công việc, nó được sử dụng để lưu vào bộ đệm tệp. Framework sao chép các tệp cần thiết vào nút nô lệ trước khi thực hiện bất kỳ tác vụ nào tại nút đó.

60) Giải thích cách Hadoop Classpath đóng một vai trò quan trọng trong việc dừng hoặc khởi động trong daemon Hadoop?

Classpath sẽ bao gồm một danh sách các thư mục chứa các tệp jar để dừng hoặc khởi động các daemon.