タグ

sparkとdistributed systemに関するmogwaingのブックマーク (3)

  • 第20回 Sparkの設計と実装[1]~登場の背景とデータ処理の特徴 | gihyo.jp

    はじめに 今回から2回に渡って、並列データ処理系のひとつであるSparkについて解説します。まずはじめに、Sparkの開発が始められた経緯を紹介し、次にSparkの特徴を説明します。 Sparkが登場した背景 Sparkは、Hadoop MapReduceと同様に、複数の計算機を用いてデータ処理を行う並列データ処理系です。2009年に、カリフォルニア大学バークレー校のAMPLabにて、Matei Zaharia氏を中心として開発が始まりました。Sparkの開発が始まった当時、世の中にはすでにHadoopが存在しており、高い耐障害性を有しかつスケーラブルな並列データ処理を、コモディティな計算機を用いて行うことは一般的になりつつありました。しかし、Hadoop MapReduceは必ずしも個々の計算機のメモリを効率的に活用する設計ではありませんでした。 Hadoop MapReduceは、ジョ

    第20回 Sparkの設計と実装[1]~登場の背景とデータ処理の特徴 | gihyo.jp
  • 第8回 データ処理における並列アルゴリズム[3] | gihyo.jp

    はじめに 前回は、結合処理の並列化における基戦略について説明し、ソートマージ結合における具体的な並列アルゴリズムを説明しました。今回は、ImpalaやPrestoに加えて、Apache SparkやHadoop MapReduceのMap Joinにおいても用いられているハッシュ結合における具体的な並列アルゴリズムを説明します。 ハッシュ結合における並列アルゴリズム ハッシュ結合は、2つのデータにおいて同一の属性値をもつレコードを見つける方法として、レコードのハッシュ値を用いるものです[1]⁠。すなわち、当該方法においては、一方のデータのすべてのレコードの結合キーに対してハッシュ関数を用いてハッシュ値を計算し、当該ハッシュ値からなるハッシュ表を事前に構築しておき、他方のデータのレコードの結合キーに対して同一のハッシュ関数から得られたハッシュ値を用いてハッシュ表を参照することにより、同一の

    第8回 データ処理における並列アルゴリズム[3] | gihyo.jp
  • 第5回 データ処理の並列化 | gihyo.jp

    はじめに 前回は、データ処理の方法を整理し、また、宣言型言語をインターフェースとして用いる並列データベースなどのデータ処理系を詳細に見ていく準備として、当該データ処理系における実行プランの作成の流れをかんたんに説明しました。今回は、当該データ処理系において、どのように実行プランを並列化するかについて、その概要を説明します。 データ処理における並列性について 並列データベースをはじめとするデータ処理系は、SQL文などの問い合わせ(クエリ)の内容に応じてデータ処理を行うものであり、問い合わせの観点においては、当該処理系において用いられる並列性(Parallelism)は、次の2つに分類することができます。 問い合わせ間の並列性(Inter-Query Parallelism) 問い合わせ内の並列性(Intra-Query Parallelism) 問い合わせ間の並列性は、複数の異なる問い合わせ

    第5回 データ処理の並列化 | gihyo.jp
  • 1