Hadoop 面接の質問と回答トップ 60 (2024)

ここでは、夢の仕事に就くための、新人および経験豊富な候補者向けの Hadoop MapReduce 面接の質問と回答を紹介します。

Hadoop MapReduce の面接の質問

1) Hadoop Map Reduce とは何ですか?

Hadoop クラスター全体で大規模なデータ セットを並列処理するには、Hadoop MapReduce フレームワークが使用されます。データ分析では、2 段階のマップと削減のプロセスが使用されます。


2) Hadoop MapReduce はどのように機能しますか?

MapReduce では、マップ フェーズで各ドキュメント内の単語をカウントし、リデュース フェーズでコレクション全体にわたるドキュメントごとにデータを集計します。 マップ フェーズでは、入力データは、Hadoop フレームワーク全体で並行して実行されるマップ タスクによる分析のために複数の分割に分割されます。

👉 無料 PDF ダウンロード: Hadoop と MapReduce のインタビューの質問と回答


3) MapReduce のシャッフルとは何ですか?

システムがソートを実行し、マップ出力を入力としてリデューサーに転送するプロセスは、シャッフルとして知られています。


4) MapReduce フレームワークの分散キャッシュとは何ですか?

分散キャッシュは、MapReduce フレームワークによって提供される重要な機能です。 Hadoop のすべてのノードでいくつかのファイルを共有したい場合 Cluster, 分散キャッシュが使用されます。ファイルは、実行可能な jar ファイルまたは単純なプロパティ ファイルです。

Hadoop MapReduce の面接の質問
Hadoop MapReduce の面接の質問

5) Hadoop の NameNode とは何ですか?

Hadoop の NameNode は、Hadoop がすべてのファイルの場所情報を保存するノードです。 HDFS (Hadoop 分散ファイル システム)言い換えれば、NameNodeはHDFSファイルシステムの中心であり、ファイルシステム内のすべてのファイルの記録を保持し、クラスタまたは複数のマシン間でファイルデータを追跡します。


6) Hadoop の JobTracker とは何ですか? Hadoop によって実行されるアクションは何ですか?

In Hadoopの MapReduce ジョブの送信と追跡には、JobTracker が使用されます。 ジョブ トラッカーは独自の JVM プロセスで実行されます

ジョブトラッカーはHadoopで以下のアクションを実行します。

  • クライアント アプリケーションがジョブ トラッカーにジョブを送信する
  • JobTracker は Name モードと通信してデータの場所を決定します
  • データの近く、または利用可能なスロットがある JobTracker は TaskTracker ノードを見つけます
  • 選択した TaskTracker ノードで作業を送信します。
  • タスクが失敗すると、ジョブ トラッカーは通知を受け取り、その後の対処方法を決定します。
  • TaskTracker ノードは JobTracker によって監視されます

7) HDFS のハートビートとは何ですか?

ハートビートは、データ ノードとネーム ノード間、およびタスク トラッカーとジョブ トラッカーの間で使用される信号を指します。ネーム ノードまたはジョブ トラッカーが信号に応答しない場合は、データ ノードまたはタスクに何らかの問題があると考えられます。トラッカー


8) コンバイナーとは何か、また MapReduce ジョブでコンバイナーを使用する必要がある場合について説明します。

効率を高めるには MapReduce プログラムコンバイナが使用されます。コンバイナの助けを借りて、リデューサに転送する必要があるデータの量を減らすことができます。実行される操作が交換可能で結合的である場合、リデューサコードをコンバイナとして使用できます。コンバイナの実行はHadoopでは保証されません。


9) データノードに障害が発生するとどうなりますか?

データノードに障害が発生した場合

  • Jobtracker と namenode が障害を検出する
  • 障害が発生したノードでは、すべてのタスクが再スケジュールされます。
  • Namenode はユーザーのデータを別のノードに複製します

10) 投機的約定とは何ですか?

Hadoop では、投機的実行中に、一定数の重複タスクが起動されます。 別のスレーブ ノードでは、投機的実行を使用して、同じマップまたはリデュース タスクの複数のコピーを実行できます。 簡単に言うと、特定のドライブでタスクが完了するまでに時間がかかっている場合、Hadoop は別のディスクに重複したタスクを作成します。 タスクを最初に終了したディスクは保持され、最初に終了しなかったディスクは削除されます。


11) マッパーの基本パラメータについて説明してください。

マッパーの基本パラメータは次のとおりです。

  • LongWritable とテキスト
  • テキストと IntWritable

12) MapReduce パーティショナーの機能を説明してください。

MapReduce パーティショナーの機能は、単一キーのすべての値が同じリデューサーに送られるようにすることで、最終的にはマップ出力をリデューサー全体に均等に分散するのに役立ちます。


13) 入力分割と HDFS ブロックの違いを説明してください。

データの論理的分割はスプリットと呼ばれ、データの物理的分割は HDFS ブロックとして知られています


14) テキスト形式で何が起こるかを説明してください。

テキスト入力形式では、テキスト ファイルの各行がレコードになります。 Value は行の内容であり、Key は行のバイト オフセットです。 たとえば、キー:longWritable、値:text


15) MapReduce ジョブを実行するためにユーザーが指定する必要がある主な構成パラメータは何ですか?

MapReduce フレームワークのユーザーは指定する必要があります

  • 分散ファイル システム内のジョブの入力場所
  • 分散ファイル システム内のジョブの出力場所
  • 入力形式
  • 出力フォーマット
  • マップ関数を含むクラス
  • reduce関数を含むクラス
  • マッパー、リデューサー、ドライバーのクラスを含む JAR ファイル

16) Hadoop の WebDAV とは何ですか?

ファイルの編集と更新をサポートするために、WebDAV は HTTP の拡張機能のセットです。ほとんどのオペレーティング システムでは、WebDAV 共有をファイル システムとしてマウントできるため、WebDAV 経由で HDFS を公開することで、標準ファイル システムとして HDFS にアクセスできます。


17) Hadoop の Sqoop とは何ですか?

データを転送するには リレーショナル データベース管理 (RDBMS) と Hadoop HDFS Sqoop として知られるツールが使用されます。 Sqoop を使用すると、次のような RDMS からデータを転送できます。 MySQL or Oracle HDFS へのデータのエクスポート、および HDFS ファイルから RDBMS へのデータのエクスポート


18) JobTracker がタスクをどのようにスケジュールするかを説明してください。

タスクトラッカーは、通常数分ごとにハートビートメッセージをジョブトラッカーに送信し、ジョブトラッカーがアクティブで機能していることを確認します。このメッセージは、使用可能なスロットの数についてもジョブトラッカーに通知するため、ジョブトラッカーはクラスターの作業をどこに委任できるかを常に把握できます。


19) Sequencefileinputformat とは何ですか?

Sequencefileinputformat は、ファイルを順番に読み取るために使用されます。 これは、ある MapReduce ジョブの出力と他の MapReduce ジョブの入力の間でデータを受け渡すために最適化された、特定の圧縮バイナリ ファイル形式です。


20) conf.setMapper クラスが何をするのか説明してください。

Conf.setMapperclass は、マッパー クラスと、データの読み取りやマッパーからのキーと値のペアの生成などのマップ ジョブに関連するすべてのものを設定します。

21) Hadoop とは何ですか?

これは、汎用ハードウェアのクラスター上でデータを保存し、アプリケーションを実行するためのオープンソース ソフトウェア フレームワークです。あらゆる種類のデータに対して、膨大な処理能力と大容量のストレージを提供します。


22) RDBMS と Hadoop の違いについて述べてください。

RDBMS Hadoopの
RDBMS はリレーショナル データベース管理システムです Hadoop はノードベースのフラット構造です
OLTP 処理に使用されるのに対し、Hadoop は 現在、分析とビッグデータ処理に使用されています
RDBMSでは、データベースクラスタは共有ストレージに保存されている同じデータファイルを使用します。 Hadoop では、ストレージ データを各処理ノードに独立して保存できます。
データを保存する前に前処理する必要がある データを保存する前に前処理する必要はありません

23) Hadoop コア コンポーネントについて言及しますか?

Hadoop コア コンポーネントには次のものがあります。

  • HDFS
  • MapReduce

24) Hadoop の NameNode とは何ですか?

Hadoop の NameNode は、Hadoop が HDFS 内のすべてのファイルの場所情報を保存する場所です。 これはジョブ トラッカーが実行されるマスター ノードであり、メタデータで構成されます。


25) Hadoop で使用されるデータ コンポーネントについて言及してください。

Hadoop で使用されるデータ コンポーネントは次のとおりです。


26) Hadoop で使用されるデータ ストレージ コンポーネントとは何ですか?

Hadoop で使用されるデータ ストレージ コンポーネントは HBase です。


27) Hadoop で定義されている最も一般的な入力形式は何ですか?

Hadoop で定義されている最も一般的な入力形式は次のとおりです。

  • テキスト入力形式
  • KeyValueInputFormat
  • シーケンスファイル入力フォーマット

28) Hadoop では、InputSplit とは何ですか?

入力ファイルをチャンクに分割し、各分割をマッパーに割り当てて処理します。


29) Hadoop ジョブの場合、カスタム パーティショナーをどのように作成しますか?

Hadoopジョブ用のカスタムパーティショナーを作成するには、次のパスに従います。

  • Partitionerクラスを拡張する新しいクラスを作成する
  • getPartition メソッドをオーバーライドします
  • MapReduce を実行するラッパー内
  • メソッド set Partitioner Class を使用してカスタム パーティショナーをジョブに追加するか、カスタム パーティショナーを構成ファイルとしてジョブに追加します

30) Hadoop でのジョブの場合、作成するマッパーの数を変更することはできますか?

いいえ、作成するマッパーの数を変更することはできません。 マッパーの数は、入力分割の数によって決まります。


31) Hadoop のシーケンス ファイルとは何ですか?

バイナリのキーと値のペアを保存するには、シーケンス ファイルが使用されます。 シーケンスファイルは通常の圧縮ファイルとは異なり、ファイル内のデータが圧縮されている場合でも分割に対応しています。


32) Namenode がダウンすると、ジョブ トラッカーはどうなりますか?

Namenode は HDFS の単一障害点であるため、Namenode がダウンするとクラスターが停止します。


33) HDFS でのインデックス作成がどのように行われるかを説明してください。

Hadoop には独自のインデックス作成方法があります。 データがブロック サイズに従って保存されると、HDFS はデータの次の部分がどこにあるかを示すデータの最後の部分を保存し続けます。


34) ワイルドカードを使用してファイルを検索できるか説明してください。

はい、ワイルドカードを使用してファイルを検索できます。


35) Hadoop の XNUMX つの構成ファイルを列挙してください。

XNUMX つの構成ファイルは次のとおりです。

  • コアサイト.xml
  • マップレッドサイト.xml
  • hdfs-site.xml

36) jps コマンドを使用する以外に、Namenode が動作しているかどうかを確認する方法を説明してください。

jps コマンドを使用する以外に、Namenode が動作しているかどうかを確認するには、次のコマンドを使用することもできます。

/etc/init.d/hadoop-0.20-namenode のステータス。


37) Hadoop の「マップ」と「リデューサー」とは何ですか?

Hadoop では、マップは HDFS クエリ解決のフェーズです。 マップは入力場所からデータを読み取り、入力タイプに応じてキーと値のペアを出力します。

Hadoop では、リデューサーはマッパーによって生成された出力を収集し、それを処理して、独自の最終出力を作成します。


38) Hadoop では、どのファイルが Hadoop でのレポートを制御しますか?

Hadoop では、hadoop-metrics.properties ファイルがレポートを制御します。


39) Hadoop を使用する場合のネットワーク要件をリストしますか?

Hadoop を使用する場合のネットワーク要件のリストは次のとおりです。

  • パスワードレスのSSH接続
  • サーバープロセスを起動するための Secure Shell (SSH)

40) ラック認識とは何ですか?

ラック認識は、ネームノードがラック定義に基づいてブロックを配置する方法を決定する方法です。


41) Hadoop のタスク トラッカーとは何ですか?

Hadoop のタスク トラッカーは、クラスター内のスレーブ ノード デーモンであり、JobTracker からタスクを受け取ります。また、数分ごとにハートビート メッセージを JobTracker に送信して、JobTracker がまだ動作していることを確認します。


42) マスターノードとスレーブノードで実行されるデーモンについて言及してください。

  • マスターノードで動作するデーモンは「NameNode」
  • 各スレーブノードで動作するデーモンは「タスクトラッカー」と「データ」です

43) Hadoop コードをデバッグする方法を説明しますか?

Hadoop コードをデバッグする一般的な方法は次のとおりです。

  • Hadoopフレームワークが提供するWebインターフェースを使用する
  • カウンターを使用する

44) ストレージ ノードとコンピューティング ノードとは何ですか?

  • ストレージ ノードは、処理データを保存するためにファイル システムが存在するマシンまたはコンピュータです。
  • コンピューティング ノードは、実際のビジネス ロジックが実行されるコンピューターまたはマシンです。

45) Context オブジェクトの用途について言及してください。

Context オブジェクトにより、マッパーは Hadoop の残りの部分と対話できるようになります。

システム。 これには、ジョブの構成データと、ジョブが出力を発行できるようにするインターフェイスが含まれます。


46) Mapper または MapTask の次のステップについて言及してください。

マッパーまたはマップタスクの次のステップでは、マッパーの出力が並べ替えられ、出力に対してパーティションが作成されます。


47) Hadoop のデフォルトのパーティショナーの数について教えてください。

Hadoop では、デフォルトのパーティショナーは「ハッシュ」パーティショナーです。


48) Hadoop の RecordReader の目的を説明してください。

Hadoop では、RecordReader がソースからデータをロードし、それをマッパーによる読み取りに適した (キー、値) ペアに変換します。


49) Hadoop でカスタム パーティショナーが定義されていない場合、データがリデューサーに送信される前にどのように分割されるかを説明しますか?

Hadoop でカスタム パーティショナーが定義されていない場合、デフォルトのパーティショナーがキーのハッシュ値を計算し、その結果に基づいてパーティションを割り当てます。


50) Hadoop が 50 つのジョブに対して XNUMX 個のタスクを生成し、そのうちの XNUMX つのタスクが失敗した場合に何が起こるかを説明してください。

タスクが定義された制限を超えて失敗した場合、他の TaskTracker でタスクが再起動されます。


51) HDFS クラスター間でファイルをコピーする最適な方法は何ですか?

HDFS クラスター間でファイルをコピーする最適な方法は、複数のノードと distcp コマンドを使用してワークロードを共有することです。


52) HDFS と NAS の違いについて言及してください。

HDFS データ ブロックはクラスター内のすべてのマシンのローカル ドライブに分散されますが、NAS データは専用のハードウェアに保存されます。


53) Hadoop が他のデータ処理ツールとどのように違うかについて言及しますか?

Hadoop では、処理するデータの量を気にせずにマッパーの数を増減できます。


54) conf クラスがどのような仕事をするかについて言及してください。

ジョブ conf クラスは、同じクラスターで実行される異なるジョブを分離します。実際の環境でジョブを宣言するなど、ジョブ レベルの設定を行います。


55) キーと値クラスの Hadoop MapReduce API コントラクトとは何ですか?

キーと値のクラスには、XNUMX つの Hadoop MapReduce API コントラクトがあります

  • 値は org.apache.hadoop.io.Writable インターフェイスを定義する必要があります
  • キーは org.apache.hadoop.io.WritableComparable インターフェイスを定義している必要があります

56) Hadoop を実行できる XNUMX つのモードには何がありますか?

Hadoop を実行できる XNUMX つのモードは次のとおりです。

  • 擬似分散モード
  • スタンドアロン (ローカル) モード
  • 完全分散モード

57) テキスト入力フォーマットが何をするかについて言及してください。

テキスト入力形式では、XNUMX 進数の行オブジェクトが作成されます。 値は行テキスト全体とみなされ、キーは行オブジェクトとみなされます。 マッパーは値を「text」パラメータとして受け取り、キーを「longwriteable」パラメータとして受け取ります。


58) Hadoop フレームワークによって作成される InputSplit の数について言及しますか?

Hadoop は 5 つの分割を行います

  • 1K ファイルの場合は 64 分割
  • 2MBファイルの場合は65分割
  • 2mb ファイルを 127 分割

59) Hadoop の分散キャッシュとは何ですか?

Hadoop の分散キャッシュは、MapReduce フレームワークによって提供される機能です。 ジョブ実行時、ファイルのキャッシュに使用されます。 フレームワークは、スレーブ ノードでタスクを実行する前に、必要なファイルをスレーブ ノードにコピーします。


60) Hadoop クラスパスが Hadoop デーモンの停止または起動においてどのように重要な役割を果たすかを説明してください。

クラスパスは、デーモンを停止または開始するための jar ファイルを含むディレクトリのリストで構成されます。

これらの面接の質問は、あなたの活力(口頭)にも役立ちます