ポイント: ハドゥープ面接質問は、ハドゥープの構造と操作に関する洞察を提供し、その機能、コマンド、およびSparkやCassandraなどの他の技術との比較に関する一般的な質問に対処します。
- ハドゥープは書き込み専用ファイルシステムであり、データベースではありません。
- Yarnはハドゥープにおけるリソースマネージャーとして機能します。
- Apache Mahoutはハドゥープのための機械学習ライブラリです。
ハドゥープ面接質問
Q: ハドゥープはデータベースですか? A: いいえ。ハドゥープは書き込み専用ファイルシステムです。しかし、HiveやHBaseのような他の製品は、データをRDBMのようなデータベース構造に格納するために、ハドゥープにSQLライクなインターフェースを提供します。 Q: ハドゥープを起動するために使用するコマンドは何ですか? A: start-dfs.shとstart-yarn.dfs Q: Apache Pigは何をしますか? A: それはJavaを使用するよりもずっと単純なSQLライクな構文を使ってMapReduceジョブを書く方法です。 Q: ローカルファイルをHDFSにコピーするにはどうすればよいですか? A: hadoop fs -put filename /(hadoop directory) Q: ハドゥープの機械学習ライブラリは何と呼ばれていますか? A: Apache Mahoutです。 Q: Sparkはハドゥープとどのように異なりますか? A: Sparkはデータをメモリに保存し、ディスクに保存されているハドゥープよりもはるかに高速にMapReduce操作を実行します。また、Scala、Python、Rのコマンドラインインターフェースがあります。さらに、Sparkプロジェクトによって開発された機械学習ライブラリSpark MLが含まれています。 Q: MapはMapReduceですか? A: Mapは入力データファイルを取り込み、それを(key->value)ペアまたはタプル(a,b,c,d)または他の反復可能な構造に減らします。Reduceは隣接するアイテムを取り込み、それらを反復して1つの最終結果を提供します。 Q: ハドゥープのセーフモードとは何ですか? A: それはデータノードがまだデータを受信する準備ができていないことを意味します。これは通常、起動時に発生します。 Q: ハドゥープをセーフモードから出すにはどうすればよいですか? A: hdfs dfsadmin -safemode leave Q: 名前ノードとデータノードの違いは何ですか? A: ハドゥープはマスター-スレーブモデルです。名前ノードがマスターです。スレーブはデータノードです。名前ノードはMapReduceジョブをパーティションし、それぞれの部分を異なるデータノードに渡します。データノードはデータをディスクに書き込む責任があります。 Q: Yarnはハドゥープで何の役割を果たしますか? A: それはリソースマネージャーです。Yarnはクラスター全体の利用可能なリソース(メモリ、CPU、ストレージ)を追跡します。各アプリケーション(例:ハドゥープ)は、リソースマネージャーに利用可能なリソースを尋ね、それに応じて配分します。これを実行するために、スケジューラとアプリケーションマネージャという2つのデーモンを実行します。 Q: データノードを追加するにはどうすればよいですか? A: Hadoop $HADOOP_HOMEフォルダー全体をサーバーにコピーします。次に、Hadoopユーザーがパスワードを入力せずにそのサーバーにsshできるようにsshキーを設定します。そのサーバーの名前を$HADOOP_HOME/etc/hadoop/slavesに追加します。そして、新しいデータノードでhadoop-daemon.sh --config $HADOOP_CONF_DIR --script hdfs start datanodeを実行します。 Q: ハドゥープサービスが実行されているのをどうやって確認しますか? それらの名前は何ですか? A: jpsを実行します。次のように表示されるはずです: データノードのDataNodeと名前ノード、SecondaryNameNode、およびResourceManagerが名前ノードに表示され(オプションで)JobHistoryServerに表示されます。 Q: ハドゥープジョブ履歴サーバーをどうやって起動しますか? A: $HADOOP_HOME/sbin/mr-jobhistory-daemon.sh --config $HADOOP_HOME/etc/hadoop start historyserver Q: 線形回帰とは何ですか? A: これは、データポイントのセットに最も近い関数を見つけるために使用される手法です。例えば、独立変数xと従属変数yがある場合、線形回帰はy = mx + bを計算します。ここでmは傾き、bはx切片です。これは予測データモデルに使用されます。これは、変数間の相関関係を見つけるために使用されます。例えば、もっと勉強する(x)が学生の成績(y)を向上させるかどうかです。 Q: 「データをコンピューティングに持っていくのではなく、コンピューティングをデータに持っていく」という意味は何ですか? A: これはハドゥープの全体的なアイデアです。これは、コモディティ仮想マシンの計算能力を使用してデータセットの断片を処理することを意味します。これにより、1つの中央の強力なコンピュータが1つの場所で処理するのではなく、ハドゥープはほぼ無限のサイズのデータセットで操作できるようになります。 Q: Apache Cassandraとは何ですか? A: これは、リングトポロジーで動作するNoSQLカラム指向データベースです。つまり、中央制御サーバーがありません。これは、MySQLのような通常の行および列のRDBMSデータベースのように見えますが、データは高速な取得と書き込みのために列によってグループ化され、行ではありません。そして、アイテムを書き込むときは、1つの行-列の組み合わせを同時に書き込みます。つまり、RDBMSとは異なり、特定の列を省略する行が存在することがあります。 Q: ハドゥープの主な設定ファイルは何ですか? A: hdfs-siteとcore-site.xml Q: ハドゥープの複製はどのように機能しますか? ラックアウェアとは何ですか? A: データノードは、通常のディスクドライブと同様にデータをデータブロックに書き込みます。複製因子に応じて、各ブロックのコピーを他のデータノードに書き込みます。データノードがラックに配慮していると言うと、データセンター内の同じラックに複製をすべて書き込まないことを意味します。これにより、停電や他の障害によってデータとバックアップの両方が失われることを防ぎます。 Q: ハドゥープのCLIオプションにはどのようなものがありますか? A: 完全なリストは次のとおりです: appendToFile cat checksum chgrp chmod chown copyFromLocal copyToLocal count cp createSnapshot deleteSnapshot df du dus expunge find get getfacl getfattr getmerge help ls lsr mkdir moveFromLocal moveToLocal mv put renameSnapshot rm rmdir rmr setfacl setfattr setrep stat tail test text touchz truncate usage Q: ハドゥープはどのようなファイルタイプを使用してデータを保存できますか? A: Avro、Parquet、シーケンスファイル、プレーンテキスト Q: 名前空間とは何ですか? A: それはクラスター全体のディレクトリとファイルの抽象化です。言い換えれば、/directory/fileはあるディレクトリ内のあるファイルを表す名前空間です。しかし、それはローカルではありません。ハドゥープクラスタにあり、データノード全体に保存されています。 Q: Apache HiveはDerbyやmysqlのようなSQLサーバーを何のために使用しますか? A: それはスキーマをそこに保存し、データをハドゥープに保存します。 Q: HiveからPythonのような外部プログラムをどう呼び出すことができますか: A: SELECT TRANSFORM (fields) USING 'python programName.py' as (fields) FROM table;のようにTRANSFORMを使用します。 Q: Apache Flumeとは何ですか? A: それはハドゥープにストリーミングデータを書く方法です。 Q: ハドゥープの高可用性とは何ですか? A: それは、プライマリ名前ノードがクラッシュした場合にホットスタンバイとして機能する2番目の名前ノードを構成することを意味します。 Q: fsckコマンドは何をしますか? A: それは悪いブロック(つまり、破損したファイル)と複製の問題をチェックします。 Q: ハドゥープにはどのようなセキュリティがありますか? 認証を追加するにはどうすればよいですか? A: ハドゥープにはデフォルトで、通常のUNIXファイルシステムのようなファイル権限のセキュリティしかありません。これを変更するには、chownやchmod、および通常のLinXアカウントまたはLDAPアカウントを使用します。しかし、より高いレベルの認証を持ちたい場合は、Windowsで使用され、Linuxでもオプションで使用される認証システムであるKerberosを有効にします。そうすれば、データノードは他のノードに接続するために認証が必要になります。
ハドゥープガイド
- 初心者のためのハドゥープチュートリアル: ハドゥープの基本
- ハドゥープ管理の紹介
- ハドゥープセキュリティの紹介
- Apache Flumeの紹介
- ハイブの紹介
- HDFSの紹介
- Hbaseの紹介
- ハドゥープの例: 5つの実際のユースケース
- ハドゥープキャリア: 採用されるために
- ハドゥープ面接質問
- ハドゥープ分析の紹介
- Apache Pigの紹介
- Apache Yarnの紹介
- ハドゥープアーキテクチャの紹介
- ハドゥープの利点とメリット
- Apache Cassandraとのハドゥープの使用
- ハドゥープ対Kubernetes: K8sとクラウドネイティブはハドゥープを終わらせるのか?
- ハドゥープ認定
- ハドゥープクラスタ: 入門
- ハドゥープエコシステムとコンポーネント
これらの投稿は私自身のものであり、必ずしもBMCの立場、戦略、または意見を代表するものではありません。