ホーム > データベーススペシャリスト試験 > 2021年
データベーススペシャリスト試験 2021年 午前2 問18
ビッグデータ処理基盤に利用されオープンソースソフトウェアの一つであるApache Sparkの特徴はどれか。
ア:MapReduceの考え方に基づいたバッチ処理に特化している。
イ:RDD(Resilient Distributed Dataset)と呼ばれるデータ集合に対して変換を行う。(正解)
ウ:パブリッシュ/サブスクライブ(Publish/Subscribe)型のメッセージングモデルを採用している。
エ:マスタノードをもたないキーバリューストアである。
解説
Apache Sparkの特徴に関する問題【午前2 解説】
要点まとめ
- 結論:Apache SparkはRDD(Resilient Distributed Dataset)を用いて分散データの変換処理を効率的に行うフレームワークです。
- 根拠:RDDは耐障害性を持つ分散データ集合で、メモリ上での高速処理を可能にし、バッチ処理だけでなくストリーミング処理もサポートします。
- 差がつくポイント:MapReduceのバッチ処理に限定せず、RDDを活用した柔軟なデータ操作が可能な点を理解することが重要です。
正解の理由
選択肢イの「RDD(Resilient Distributed Dataset)と呼ばれるデータ集合に対して変換を行う」はApache Sparkのコア概念を正確に表しています。RDDは分散環境での不変データ集合であり、耐障害性を持ちながらメモリ上での高速なデータ処理を実現します。SparkはこのRDDを基盤に、MapやFilterなどの変換操作を効率的に行うため、ビッグデータ処理に適しています。
よくある誤解
Apache SparkはMapReduceの単なる代替ではなく、より高速で柔軟な処理を可能にするためRDDを用いています。パブリッシュ/サブスクライブモデルやキーバリューストアとは異なる技術です。
解法ステップ
- Apache Sparkの基本的な特徴を確認する。
- RDDの意味と役割を理解する。
- 各選択肢の技術的特徴とSparkの関係を比較する。
- Sparkの処理モデルがRDDを中心にしていることを確認し、正解を選ぶ。
選択肢別の誤答解説
- ア: MapReduceの考え方に基づいたバッチ処理に特化している。
→ SparkはMapReduceの考え方を拡張し、バッチだけでなくストリーミングやインタラクティブ処理も可能です。 - イ: RDD(Resilient Distributed Dataset)と呼ばれるデータ集合に対して変換を行う。
→ 正解。Sparkの基盤技術であり、高速で耐障害性のある分散処理を実現します。 - ウ: パブリッシュ/サブスクライブ(Publish/Subscribe)型のメッセージングモデルを採用している。
→ Sparkはメッセージングモデルではなく、RDDを用いたデータ処理フレームワークです。 - エ: マスタノードをもたないキーバリューストアである。
→ Sparkはマスターノード(ドライバプログラム)を持ち、キーバリューストアではありません。
補足コラム
Apache SparkはHadoopのMapReduceに比べてメモリ上での処理を重視し、処理速度が大幅に向上しています。RDDは不変性を持ち、失敗時には再計算で復元可能なため、分散環境での信頼性も高いです。また、SparkはSQL処理(Spark SQL)、機械学習(MLlib)、グラフ処理(GraphX)など多様なライブラリを備えています。
FAQ
Q: RDDとは何ですか?
A: RDDはResilient Distributed Datasetの略で、分散環境で耐障害性を持つ不変のデータ集合です。Sparkの基本単位として高速なデータ処理を可能にします。
A: RDDはResilient Distributed Datasetの略で、分散環境で耐障害性を持つ不変のデータ集合です。Sparkの基本単位として高速なデータ処理を可能にします。
Q: Apache SparkはMapReduceとどう違いますか?
A: MapReduceはディスクベースのバッチ処理に特化していますが、SparkはRDDを使いメモリ上での高速処理やストリーミング処理もサポートします。
A: MapReduceはディスクベースのバッチ処理に特化していますが、SparkはRDDを使いメモリ上での高速処理やストリーミング処理もサポートします。
関連キーワード: Apache Spark, RDD, 分散処理, ビッグデータ, MapReduce, ストリーミング処理, 耐障害性, メモリ処理