PR

Spark とは

spark

本記事では Apache Spark の学習のアウトプットを行います。

*技術解説ではないため、正誤は問わないでください。

 

Spark とは

ビックデータ処理のフレームワークであって、スピードや使いやすさ、拡張性等に優れている

使いやすさ→Python,SQL,java など様々なプログラミング言語で実装することが可能

拡張性→S3 や MongoDB, Delta Lake など様々な外部サービスと使用できるようにコネクタが提供されている

Hadoop との違いは?

ビックデータ処理のフレームワークというと Hadoop が有名ですが、SparkはHadoopと何が違うのでしょうか?

特徴 Apache Spark Apache Hadoop
処理方法 メモリ内で高速処理 ディスクを使った遅い処理
リアルタイム処理 可能 不可
プログラム言語 Scala, Java, Python, R, SQL 主にJava
使用用途 高速なデータ分析や機械学習 大量データのバッチ処理

Spark は高速な並列処理に焦点を当てており、ストレージと並列処理を分離しています。逆に Hadoop はストレージと並列処理の両方を含んでおり、用途や拡張性に劣るといったことがいえます。

Spark を使用する人・ケース

データの利活用業務

企業には様々なデータがあり、近年それらのデータをAIや可視化、分析を行うことによって利活用する業務が増えています。

これらの業務に関わるデータサイエンティストが使用します。

また、データの利活用に使用するデータはそもそもが活用目的で集められたわけではないためデータを活用可能な形に変換する(キレイに整える)必要があります。

これらをおこなうデータエンジニアが使用します。

中小企業ではこれらの業務は明確に分かれていないこともあり、データエンジニアとデータサイエンティストの両方の業務を行うこともしばし発生します。

Spark を使用することによって使い慣れたプログラミング言語を使用し、1つのエンジンで様々なアプリケーションを構築できます。

更にデータの利活用においては大量のデータを利用するためSpark を使用した並列処理がよりメリットを発揮します。

タイトルとURLをコピーしました