ビッグ データとインテリジェント データ アプリケーション アーキテクチャのチュートリアル シリーズ: ビッグ データの視覚化とレポート分析

著者: 禅とコンピュータープログラミングの芸術

1 はじめに

インターネット、モバイル インターネット、モノのインターネットなどの新しいビッグ データ アプリケーションの精力的な開発に伴い、従来のデータ処理、分析、アプリケーションでは増大する需要に対応できなくなりました。ビッグデータ技術の普及により新たな課題も生じており、膨大なデータから有効な情報を抽出し、ビジネスチャンスを洞察し、市場動向を予測し、意思決定を支援することが非常に急務となっています。したがって、ビッグデータ技術に基づく視覚化およびレポート分析システムは、あらゆる分野で不可欠です。

本稿では、可視化・レポート分析システムを「ビッグデータ」の観点から総合的に分析し、ビッグデータ可視化・レポート分析の開発動向と応用シナリオを解説し、ソリューションを提供します。この記事は主に、産業応用分野および大学の関連部門の技術者を対象としています。この記事を通じて、読者はビッグデータ視覚化およびレポート分析システムの全体的なフレームワーク、主要な技術指標、および応用プロセスを理解し、ビッグデータ視覚化およびレポート分析の技術スキルを習得することができます。

2. 背景の紹介

ビッグデータとは何ですか?

一般にビッグデータとは、大量かつ高速かつ多様なデータの集合を蓄積・処理・分析することを指し、主に以下のような特徴があります。

  1. ボリューム: データセットのサイズが一定の規模を超えると発生するデータの偏りの問題を指します。
  2. 速度: データの取得、保存、送信、処理、および非常に迅速に実行する必要があるその他のプロセスを指します。
  3. 多様性: テキスト、画像、ビデオ、オーディオ、ネットワーク トラフィックなどのさまざまなメディア形式が含まれるデータ ソースを指し、さまざまなデータ タイプが存在します。
  4. 付加価値: 実際のビジネス価値や指標としての重要性を持ち、市場動向の予測や意思決定のサポートに使用できるデータを指します。

ビッグデータとは、大規模、高速、多様、多価値なデータの集まりを指し、複雑な相関関係、反復解釈、急速な変化、急速な成長といった特徴を持っていることがわかります。したがって、この巨大で無限のデータセットでは、データをどのように便利に管理、採掘、分析、表示するかが非常に困難な課題となっています。

なぜビッグデータの視覚化とレポート分析が必要なのでしょうか?

ビッグデータの普及に伴い、ビッグデータを処理する企業が増えており、データをより直観的かつ理解しやすくし、企業の保守コストを削減し、業務効率を向上させるために、多くの企業がデータの可視化技術を導入し始めています。レポート可視化などの分析、業務監視チャート表示、インテリジェントBIツール構築など

しかし、データ量が多く、多次元で、構造が複雑であるため、可視化システムの構築や導入には一定の時間がかかることが多く、可視化ツールの選択や活用にますます注目が集まっています。現在、一般的な視覚化テクノロジは次のカテゴリに分類できます。

  1. データの視覚化: データ統計チャート、データ マップ、データ関係図、ヒート マップなどを含みます。
  2. レポートの視覚化: たとえば、Tableau、Davinci Chart、Power BI、およびその他のツールを使用してレポートを作成します。
  3. インテリジェント BI ツール: ビジネス インテリジェンス スイートとデータ マイニング アルゴリズムを使用して、カスタマイズされた BI ソリューションを提供します。

これらの視覚化ツールは、ユーザーが複雑なデータを迅速に理解し、インタラクティブな方法でデータ分析を実装するのに役立ちます。

ビジュアル システム アーキテクチャの概要

以下は、3 つの主要モジュールで構成される視覚化システム アーキテクチャの概要です。

  1. データ取得モジュール: その主な機能は、外部データ ソースを取得し、それらをデータ ウェアハウスに 1 つ以上のテーブルとして保存することです。
  2. データクリーニングモジュール: その主な機能は、データをクリーニングし、ダーティデータ、ノイズデータ、誤ったデータなどを削除することです。
  3. データ表示モジュール: その主な機能は、データ視覚化機能を提供することです。このうち、データ変換モジュールは元のデータを視覚化に使用できる形式に変換する責任を負い、データ エンコード モジュールはデータをコンピューター視覚化標準に適応できるようにデータをエンコードする責任を負い、データ レンダリング モジュールはエンコードされた結果をユーザーに提示する責任があります。

一般的に使用される視覚化ツール アーキテクチャは 3 つあります。

  1. フロントエンド統合アーキテクチャ: このタイプのアーキテクチャは、視覚化ツールをブラウザ プラグインとしてカプセル化し、ブラウザに直接インストールして使用できます。可視化ツールはシンプルで使いやすいのがメリットですが、サーバーリソースを多く消費するのがデメリットです。
  2. サーバー側統合アーキテクチャ: このタイプのアーキテクチャでは、視覚化ツールをサーバー側アプリケーションとして使用し、HTTP インターフェイスを介して呼び出し、結果を表示のためにブラウザーに返します。追加のプラグインをインストールする必要がなく、サーバーリソースを占有せず、他のサービスと簡単に統合できるのがメリットですが、デメリットは使いづらい、データを直感的に感じにくいことです。
  3. クライアント統合アーキテクチャ: このタイプのアーキテクチャは、視覚化ツールをクライアントに組み込み、独立したアプリケーションとして実行します。利点は、サーバーをインストールして構成する必要がなく、データ ソースに直接アクセスし、パフォーマンスを向上させるためにローカルのコンピューティング能力を使用する必要がないことです。欠点は、ローカルのハードウェア環境に依存し、クロスプラットフォーム互換性を考慮する必要があることです。 。

視覚化システム アーキテクチャに関する上記の概要に基づいて、ビッグ データの視覚化とレポート分析の知識ポイントを以下で詳しく説明します。

3. 基本的な概念と用語の説明

(一)ETL(抽出・変換・ロード)

ETL とは、データの抽出、変換、ロードを指します。つまり、さまざまなソース (データベース、ファイル システム、メッセージ キュー、電子メールなど) からデータを抽出し、クリーニング、フィルタリング、変換、検証してから、それをターゲット システム (データベース、ファイル システムなど) にロードします。これはデータ ウェアハウスの重要な部分であり、データ ウェアハウスの中核コンポーネントです。ETL の目的は、異種データ ソースのデータをデータ ウェアハウスの内部構造に均一に変換し、重複データ、異常データ、欠落データを排除し、データ ウェアハウスの純化を実現することです。

ETL は通常、次の段階に分かれています。

  1. データ ソースの接続: ETL はさまざまなソース (Oracle、MySQL など) からデータを抽出し、さまざまなデータ ソースのプロトコルと API に従って対応するメソッドを呼び出してデータを読み取ります。
  2. データ クリーニング: ETL は、取得した元のデータをクリーニング、フィルタリング、変換、検証し、乱雑で反復的な誤ったデータを削除します。
  3. データ変換: ETL は、クリーンアップされたデータをデータ ウェアハウスに必要な構造に変換します。
  4. データのロード: ETL は、変換されたデータをデータ ウェアハウスのターゲット システム (Oracle、MySQL など) にロードします。

ETL の実行頻度は、データ ボリュームのサイズ、データの更新頻度、データの品質によって異なり、通常は 1 日に 1 回、1 週間に 1 回、または 1 か月に 1 回です。

(二)Hive

Hive は、Hadoop エコシステムのオープン ソースの分散データ ウェアハウス インフラストラクチャです。大規模なデータのクエリと分析に特に使用されるシステムです。データベースとして機能するだけでなく、非構造化データおよび半構造化データの処理にも使用できます。最大の特徴は、カラムナストレージに従ってデータを列に分割し、ディスクIOとメモリのオーバーヘッドを削減し、クエリパフォーマンスを向上させることです。

Hive の基本的なデータ モデルは、一連の列と行で構成されるテーブルです。各列には名前とデータ型があり、各行は一意の値のセットに対応します。Hive は、配列、マップ、構造体、共用体などの複雑なデータ型もサポートします。

Hive の SQL インターフェイスは、SQL ステートメントを通じてテーブルに対するクエリ、集計、結合、その他の操作を実行できる豊富な関数ライブラリを提供します。Hive のデータ ストレージは、デフォルトで HDFS (Hadoop Distributed File System) を使用し、カスタマイズされたストレージ形式を提供します。

Hive を Spark と組み合わせて、高パフォーマンスの分析クエリを提供できます。Spark SQL は、Hive 内のテーブルに直接クエリを実行して、データの共有と処理を実現できます。

(三)Hive SQL

Hive でサポートされる SQL 言語は、MySQL に似た ANSI/ISO SQL 構文を持ち、独自の構文を拡張し、いくつかの独自の構文を追加しています。

SELECT ステートメントは、Hive テーブルからデータを取得するために使用され、WHERE、ORDER BY、LIMIT、GROUP BY およびその他の句を使用して結果をフィルタリング、並べ替え、集計することができます。サポートされている算術演算子には、+、-、*、/、% などが含まれます。サポートされている条件演算子には、=、!=、>、<、>=、<= などが含まれます。

INSERT INTO ステートメントは、Hive テーブルにデータを挿入するために使用されます。テーブルが存在しない場合は、最初にテーブルを作成します。

CREATE TABLE ステートメントは、Hive テーブルを作成し、テーブル名、列名、データ型などの属性を指定するために使用されます。

DROP TABLE ステートメントは、Hive テーブルを削除するために使用されます。

SHOW TABLES ステートメントは、既存の Hive テーブルのリストを表示するために使用されます。

DESCRIBE FORMATTED ステートメントは、列名、データ型、コメントなどのテーブルのメタデータ情報を表示するために使用されます。

(四)OLAP(オンライン分析処理)

OLAP は Online Analytical Processing の略で、多次元正方行列データ編成を通じて多次元分析とデータマイニングを実行する多次元データ分析手法です。その主な利点は、リアルタイム性、柔軟性、強力な視覚化機能です。

OLAP システムは、データ ウェアハウス、データ マイニング、多次元分析、インタラクティブなクエリと視覚化、その他の技術コンポーネントを含む、大規模な企業データを要約、分析、意思決定、予測するための統合システムです。データ ウェアハウスはデータの保存、整理、分析に使用され、データ マイニングはデータ ウェアハウスからパターンと傾向を発見するために使用され、多次元分析はデータの分析に使用され、インタラクティブ クエリは潜在的なビジネス チャンスを事前に特定するために使用され、視覚化は分析結果を表示するために使用されます。

(五)OLTP(オンライントランザクション処理)

OLTP は Online Transaction Processing の略で、主にリアルタイムのクエリ要求を処理するために使用される高性能トランザクション処理システムです。OLTP システムは、データベース、トランザクション エンジン、インデックス構造、キャッシュ メカニズムなどで構成されます。データベースは、テーブル、ビュー、ストアド プロシージャ、トリガーなどを含むデータが保存される場所です。トランザクション エンジンはトランザクションの送信とロールバックを担当し、インデックス構造はデータの場所をすばやく見つけるために使用され、キャッシュ メカニズムはデータクエリを高速化するために使用されます。

OLTP システムは次のように処理されます。

  1. トランザクション処理: トランザクション処理とは、データベースが特定の機能を完了したりデータを保存したりするために、特定の順序で一連の操作を実行することを意味します。通常、トランザクションには複数のステートメントが含まれており、実行中にエラーが発生すると、トランザクション全体がロールバックされます。
  2. クエリ処理: クエリ処理とは、データベース内の指定されたデータをクエリすることを指します。取得するデータが大量にある場合、データベースはディスク読み取りの数を最小限に抑え、キャッシュ メカニズムを使用してクエリのパフォーマンスを向上させる必要があります。
  3. 更新処理: 更新処理とは、データベースに既に存在するデータを変更または追加することを指します。データが変更されると、データベースは古いバージョンのデータを自動的に記録します。

(六)Pentaho Data Integration

Pentaho Data Integration (PDI) は、ETL、ELT、データ ウェアハウス開発、データ収集、データ サマリー、データ変換、データ ロード、データ監査などの一連のデータ統合タスクに使用できるオープン ソース データ統合ソフトウェアです。その設計目標は、軽量で使いやすく、拡張性が高く、エンタープライズレベルのデータ処理のさまざまなニーズを満たすことができます。

PDI でサポートされるデータ ソースには、リレーショナル データベース、ファイルベースのログ、API などが含まれます。スケジュールされたスケジューリング、FTP/SFTP ファイルのダウンロード、電子メール送信、データベース接続、XML 解析、LDAP ログイン、シェル スクリプトの実行などの一連の共通コンポーネントが組み込まれており、簡単なデータ収集、変換、ロードを実現できます。 、検査など。

PDI の出力対象には、リレーショナル データベース、CSV、Excel などのファイル、Hadoop HDFS、JDBC、ActiveMQ などが含まれます。タスクの実行を直観的に確認でき、タスクの実行とデータ エラーを簡単に追跡できる使いやすいビジュアル インターフェイスを提供します。

(7) タブロー

Tableau は、複雑なデータを迅速かつ直感的に表示し、インタラクティブで直感的なダッシュボード、ダッシュボード、データ レポートをユーザーに提供できるビジネス インテリジェンス分析ツールです。その主な機能は、データ駆動型、直感的な視覚化、使いやすさ、リンクされた分析、モバイル デバイスのサポートです。

Tableau の主な機能には、データ接続、データ インポート、データ クリーニング、データ マージ、データ計算、データ ピボット、ビュー編集、データ エクスポート、承認制御などが含まれます。MySQL、PostgreSQL、MongoDB、Amazon Redshift、Google BigQuery、Salesforce、SAP HANA などを含む、主流のリレーショナル データベースと NoSQL データ ソースをサポートします。

Tableau Desktop と Server のバージョンはどちらも個人およびプライベートの分析に使用できますが、Server バージョンはチーム コラボレーションもサポートし、クラウド展開およびクラウド分析サービスを提供します。

(8) ラピッドマイナー

RapidMiner は、Python 言語に基づく機械学習プラットフォームであり、機械学習モデルを迅速に構築、トレーニング、最適化するために使用できます。その主な機能には、データのインポート、データ クリーニング、特徴量エンジニアリング、モデルのトレーニング、評価とハイパーパラメーターの調整、モデルの推論と評価、モデルのリリースと展開、モデルの監視と追跡、モデルの統合とサービス化などが含まれます。

RapidMiner には、SVM、Naive Bayes、Decision Tree などのいくつかの機械学習アルゴリズムも組み込まれています。RapidMiner は、Anaconda、IPython、Jupyter Notebook、PyCharm IDE などを含む、主流の Python 環境とプログラミング言語をサポートします。

RapidMiner は、モデルのトレーニング、評価、モニタリング、その他の機能の実装に加えて、モデルの移植性とスケーラビリティを実現するために、他のアプリケーションによる呼び出し用の RESTful API としてモデルをデプロイすることもできます。

おすすめ

転載: blog.csdn.net/universsky2015/article/details/133446317