ビッグデータ関連技術まとめ
ビッグデータというバズワードを敬遠していて、なかなかHadoop界隈などにも近づいていなかったのですが、無視できそうにもないのでまずはどこから手を付ければいいか考えるためにもまずは用語を整理したいと思います。
以下以外にもまだまだあると思います。また、ビッグデータというワードの境界が曖昧なので少し毛色の違うものも混じっていると思いますが概要をつかむために関連用語を列挙します。随時編集していこうと思います。
用語・製品名一覧
- Apache Spark: Spark
- Apache NiFi: データフローオーケストレーションツール
- Hadoop, MapReduce, YARN, HDFS: MapReduce (実行フレームワーク)、YARN (リソースマネージャー) および HDFS (分散ストレージ) を含む実際の Apache Hadoop プロジェクトを指します
- Hive: Hadoop上のMapReduce(大量のデータを高速に処理するための分散処理フレームワーク)の処理をSQL互換言語で操作を実行できることです。つまり、Hiveの問い合わせ言語である「HiveQL」は、RDBの「SQL」に似ています
- Apache Pig: 「Pigによるデータ操作プログラミング環境」を提供します。またこの際のスクリプト言語には独自に開発されたPig言語が用いられます。Hadoop上でPigが稼動することにより、利用者はプログラマブルにでデータの操作を行う事ができます。
- Ganglia: 拡張可能な分散システムで、パフォーマンスへの影響を最小限に抑えながら、クラスターやグリッドをモニタリングできるように設計されています
- HCatalog
- Apache Mahout: Hadoopの強みを生かし簡単に機械学習を行うためのライブラリ
- Apache Lucene
- Apache Oozie
- Apache HBase: HDFS上に構築する分散データベースです
- Apache Impala: Hadoop上でSQL(正確にはHive Query Language/HiveQL)を高速に処理するために開発された並列データ処理系です
- Solr
- Sqoop
- Apache Storm: オープンソースで耐障害性に優れた高速分散処理型ニアリアルタイムビッグデータ処理フレームワーク
- Kafka: Queue
- Apache Phoenix
- Flink
- Apache Zeppelin
- Apache ZooKeeper
- Cassandra: Google BigtableのデータモデルとAmazon Dynamoのレプリケーションなどの分散システムデザインを融合させてできた分散データベース
- Hue: Hadoopを使いやすくするためのWebUI
- Ambari: こちらもUser viewを提供する
- Asakusa Framework: Hadoop上で大規模な 基幹バッチ処理を行うためのフレームワーク
AWS
- Amazon EMR: Amazon EMR には、Hadoop からストレージレイヤーとして Amazon S3 を使用するためのコネクタである EMRFS も含まれています
- Apache Tez: Hadoop MapReduce の代わりに実行エンジンとして使用できる次世代のフレームワークである Apache Tez をインストールすることもできます
- Amazon EMR を使用することで、Hive、Pig、Hue、Ganglia、Oozie および HBase といったツールを簡単にクラスターにインストールして設定することが可能です
- Hadoop に加えて、インメモリ処理用の Apache Spark や、インタラクティブ SQL 用の Presto といった他のフレームワークも Amazon EMR で実行できます。
- Amazon DynamoDB
GCP
Azure
- Azure HDInsight: Spark、Hive、MapReduce、HBase、Storm、Kafka、Microsoft R Server 向けに最適化されたオープン ソース分析クラスターを備え、99.9% の SLA が保証された唯一の完全マネージド クラウド Apache Hadoop サービスです
- Azure Cosmos DB
- Microsoft R Server
Hortonworks
- HDP (HORTONWORKS DATA PLATFORM)
ハンズオン教材
- Hadoop Tutorial – Getting Started with HDP