15以上のApacheSparkインタビューの質問と回答2022
公開: 2021-01-08Apache Sparkに精通している人なら誰でも、Apache Sparkが今日最も好まれるビッグデータツールの1つになっている理由を知っています。これにより、超高速の計算が可能になります。
Sparkがスピーディーなビッグデータ処理をサポートしているという事実は、世界中の企業にヒットしています。 Amazon、Alibaba、eBay、Yahooなどの有名企業から業界の中小企業まで、Sparkは非常に多くのファンを獲得しています。 このおかげで、企業はSparkのドメイン専門知識を持つ熟練したビッグデータの専門家を絶えず探しています。
ビッグデータ(Spark)プロファイルに関連するジョブをバッグに入れたいすべての人にとって、最初にSparkインタビューをうまくクラックする必要があります。 これがあなたをあなたの目標に一歩近づけることができる何かです–15の最もよく聞かれるApacheSparkインタビューの質問!
- Sparkとは何ですか?
Sparkは、リアルタイム処理を可能にするオープンソースのクラスターコンピューティングビッグデータフレームワークです。 これは、バッチ、インタラクティブ、反復、ストリーミングなどのさまざまなワークロードを処理できる汎用データ処理エンジンです。 Sparkは、データ処理の速度を上げるのに役立つメモリ内計算を実行します。 スタンドアロン、Hadoop、またはクラウドで実行できます。
- RDDとは何ですか?
RDDまたはResilientDistributedDatasetは、Sparkの主要なデータ構造です。 これは、オブジェクト形式でデータ入力を表すSparkの重要な抽象化です。 RDDは、読み取り専用の不変のオブジェクトのコレクションであり、各ノードが小さな部分に分割され、クラスターのさまざまなノードで計算して、独立したデータ処理を可能にします。
- ApacheSparkとHadoopMapReduceを区別します。
ApacheSparkとHadoopMapReduceの主な違いは次のとおりです。

- Sparkはプログラミングが簡単で、抽象化を必要としません。 MapReduceはJavaで記述されており、プログラミングが困難です。 抽象化が必要です。
- Sparkにはインタラクティブモードがありますが、MapReduceにはありません。 ただし、PigやHiveなどのツールを使用すると、MapReduceの操作が簡単になります。
- Sparkを使用すると、同じクラスター内でバッチ処理、ストリーミング、機械学習を行うことができます。 MapReduceはバッチ処理に最適です。
- Sparkは、SparkStreamingを介してリアルタイムでデータを変更できます。 MapReduceにはそのようなリアルタイムのプロビジョニングはありません。保存されたデータのバッチのみを処理できます。
- Sparkは、部分的な結果をメモリにキャッシュすることにより、低レイテンシの計算を容易にします。 これには、より多くのメモリスペースが必要です。 逆に、MapReduceはディスク指向であり、永続的なストレージを可能にします。
- Sparkはメモリ内で処理タスクを実行できるため、MapReduceよりもはるかに高速にデータを処理できます。
- スパースベクトルとは何ですか?
スパースベクトルは、2つの並列配列で構成されます。1つはインデックス用で、もう1つは値用です。 これらは、メモリスペースを節約するためにゼロ以外のエントリを格納するために使用されます。
- Sparkでのパーティショニングとは何ですか?
パーティショニングは、データ処理を高速化するために、より小さく論理的なデータユニットを作成するために使用されます。 Sparkでは、すべてがパーティション化されたRDDです。 パーティションは、システム内のさまざまなエグゼキュータにデータを送信するための最小限のネットワークトラフィックで分散データ処理を並列化します。
- 変換とアクションを定義します。
変換とアクションはどちらも、RDD内で実行される操作です。
変換機能がRDDに適用されると、別のRDDが作成されます。 変換の2つの例はmap()とfiler()です。map()はRDDの各要素に転送された関数を適用して別のRDDを作成しますが、filter()は現在のRDDから転送するコンポーネントを選択して新しいRDDを作成します。関数の引数。 アクションが発生した場合にのみトリガーされます。
アクションは、RDDからローカルマシンにデータを取得します。 リネージュグラフを使用してデータを元のRDDにロードし、すべての中間変換を実行し、最終結果をドライバープログラムに返すか、ファイルシステムに書き出すことにより、実行をトリガーします。
- リネージュグラフとは何ですか?
Sparkでは、RDDは相互に依存しています。 RDD間のこれらの依存関係のグラフ表示は、系統グラフと呼ばれます。 系統グラフからの情報を使用して、各RDDをオンデマンドで計算できます。永続的なRDDのチャンクが失われた場合でも、系統グラフ情報を使用して失われたデータを回復できます。
- SparkCoreの目的は何ですか?
SparkCoreはSparkのベースエンジンです。 フォールトトレランス、メモリ管理、ジョブモニタリング、ジョブスケジューリング、ストレージシステムとの相互作用などの重要な機能のホストを実行します。

- Sparkエコシステムの主要なライブラリに名前を付けます。
Sparkエコシステムの主なライブラリは次のとおりです。
- Spark Streaming –リアルタイムのデータストリーミングを有効にするために使用されます。
- Spark MLib-分類、回帰、クラスタリングなどの学習アルゴリズムで一般的に使用されるSparkの機械学習ライブラリです。
- Spark SQL –標準の視覚化ツールまたはビジネスインテリジェンスツールを適用することにより、Sparkデータに対してSQLのようなクエリを実行するのに役立ちます。
- Spark GraphX –インタラクティブなグラフを開発および変換するためのグラフ処理用のSparkAPIです。
- YARNとは何ですか? YARNクラスターのすべてのノードにSparkをインストールする必要がありますか?
Yarnは、Sparkの中央リソース管理プラットフォームです。 これにより、Sparkクラスター全体でスケーラブルな操作を提供できます。 Sparkはデータ処理ツールですが、YARNは分散コンテナーマネージャーです。 Hadoop MapReduceがYARNで実行できるように、SparkもYARNで実行できます。
SparkはYARN上で実行できるため、YARNクラスターのすべてのノードにSparkをインストールする必要はありません。Sparkはインストールとは独立して実行されます。 また、マスター、キュー、デプロイモード、ドライバーメモリ、エグゼキューターメモリ、エグゼキューターコアなど、YARNで実行するさまざまな構成も含まれています。
- Catalystフレームワークとは何ですか?
Catalystフレームワークは、SparkSQLのユニークな最適化フレームワークです。 Catalystフレームワークの主な目的は、新しい最適化を追加してより高速な処理システムを開発することにより、SparkがSQLクエリを自動的に変換できるようにすることです。
- Sparkのクラスターマネージャーの種類は何ですか?
Sparkフレームワークは、次の3種類のクラスターマネージャーで構成されています。
- スタンドアロン–クラスターの構成に使用されるプライマリマネージャー。
- Apache Mesos –HadoopMapReduceやその他のアプリケーションも実行できるSparkの組み込みの一般化されたクラスターマネージャー。
- Yarn –Hadoopでリソース管理を処理するためのクラスターマネージャー。
- ワーカーノードとは何ですか?
ワーカーノードは、マスターノードの「スレーブノード」です。 これは、クラスター内でアプリケーションコードを実行できる任意のノードを指します。 したがって、マスターノードは割り当てられたタスクを実行するワーカーノードに作業を割り当てます。 ワーカーノードは、内部に格納されているデータを処理してから、マスターノードに報告します。

- Spark Executorとは何ですか?
Spark Executorは、計算を実行し、データをワーカーノードに格納するプロセスです。 SparkContextがクラスターマネージャーに接続するたびに、クラスター内のノードでエグゼキューターを取得します。 これらのエグゼキュータは、SparkContextによって割り当てられた最終タスクを実行します。
- 寄木細工のファイルとは何ですか?
Parquetファイルは、SparkSQLが読み取り操作と書き込み操作の両方を行えるようにする列形式のファイルです。 寄木細工のファイル(列形式)を使用すると、多くの利点があります。
- 列ストレージ形式は、より少ないスペースを消費します。
- 列ストレージ形式は、IO操作を抑制します。
- 特定の列に簡単にアクセスできます。
- タイプ固有のエンコーディングに従い、より要約されたデータを提供します。
そこで–私たちはあなたをSparkに楽にしました。 Sparkのこれらの15の基本概念は、Sparkの使用を開始するのに役立ちます。
ビッグデータについて詳しく知りたい場合は、ビッグデータプログラムのソフトウェア開発スペシャライゼーションのPGディプロマをチェックしてください。このプログラムは、働く専門家向けに設計されており、7つ以上のケーススタディとプロジェクトを提供し、14のプログラミング言語とツール、実践的なハンズオンをカバーしています。ワークショップ、トップ企業との400時間以上の厳格な学習と就職支援。
upGradで他のソフトウェアエンジニアリングコースを確認してください。