データ管理機能は、様々なデータソースから収集したデータをスキーマレスで管理・加工し、検索機能で使用するデータを事前に準備します。
データの構造(スキーマ)を意識せず、そのままの形式で収集したデータを、使いたい項目だけを抽出・加工することで、検索用のデータの準備が容易にできます。
大量データから絞り込みや項目編集/結合をした検索用ファイルは、ディスク検索用データ格納ディレクトリ、または、インメモリ検索用データに取り込んでメモリ上に格納します。
スキーマレス加工では、以下の機能があります。これらは組合せが自由で、データ加工に必要な条件を指定して実行するだけです。
機能名 | 概要 |
---|---|
抽出 | 検索条件に一致するデータを抽出し、結果をファイルに出力します。検索条件には、以下があります。
|
連結 | 入力ファイルと他のファイルを連結条件に合わせて結合・編集し、結果をファイルに出力します。
|
集計 | 入力ファイルのデータを任意のグループごとに集計し、結果をファイルに出力します。 |
ソート | 入力ファイルのデータを任意の項目ごとにソートし、結果をファイルに出力します。 |
本機能は、XML文書またはCSVファイルを入力とし、必要な加工処理を施してXML文書またはCSVファイルを出力します。
また、各機能を実現するインターフェースは、以下の2つを提供しています。
コマンド
C APIの関数
参照
スキーマレス加工の詳細については、“加工編 導入・運用ガイド”を参照してください。
スキーマレス加工のアプリケーション開発については、“7.2 データを管理する”を参照してください。
並列分散処理では、長時間かけても処理できなかった大量のデータや繰り返しの多い複雑な処理を、数十~数千台のサーバで分散処理することによって、短時間で処理できます。
並列分散処理では、以下の機能があります。
機能名 | 概要 |
---|---|
マスタサーバ | 大量のデータファイルをブロックに分けた上でファイル化(分散ファイルシステム)し、そのファイル名や保管場所を一元管理します。 |
スレーブサーバ | マスタサーバによってブロック化されたデータファイルを処理するサーバです。複数のスレーブサーバが並列分散処理することによって、短時間に分析処理を行います。 |
開発実行環境サーバ | 並列分散を行うMapReduceアプリケーション、Sparkアプリケーション、Hiveクエリを実行するサーバです。 |
本機能では、以下のOSSを標準装備します。
Apache Hadoopは、ビッグデータの効率的な分散・並列処理を行うOSSです。
Apache Hadoopの分散ファイルシステム(Hadoop Distributed File System。以降は、HDFSと略します)を利用し、大量データを分割かつ、数十~数千台のサーバに分散配置して並列処理することによって、大量のデータに対するバッチ処理を短時間で実施できます。
本製品がサポートするApache Hadoop機能については“B.2 Apache Hadoopの機能”を参照してください。
Apache Spark は、メモリ上で大規模データ加工が行えるクラスタコンピュータシステムです。
メモリ上に展開したデータを再利用することにより、複雑な処理を並列分散処理で高速に実行できます。
本製品がサポートするApache Spark機能については、“B.3 Apache Sparkの機能”を参照してください。
SQLライクなクエリ言語で分散・並列処理を実行できるOSSです。
以下の特長があります。
SQLライクなクエリ言語(Hive QL)
スキーマ情報をメタストアデータベースに格納し、SQLライクなHive QLで記述したクエリで並列分散処理が実行できます。
複数ユーザーでスキーマ情報を共有するため、別途導入したRDBMSをメタストアデータベースとして利用することを推奨します。
各種実行エンジンのサポート
MapReduce以外に、Apache Sparkの実行エンジンをサポートしています。
本製品がサポートするApache Hive機能については、“B.4 Apache Hiveの機能”を参照してください。
注意
並列分散処理は、複数のサーバを使って分散処理しますので、単一サーバ構成では使用できません。
参照
Apache Hadoop、Apache SparkおよびApache Hiveの詳細情報については、OSSのオンラインドキュメントを参照してください。
本製品での並列分散処理の使い方については、“分散処理編 ユーザーズガイド”を参照してください。