OpenStack は、コンピューティング、ストレージ、およびネットワーク リソースのプールを制御します。この記事では、OpenStack がビッグデータの使用事例で重要な役割を果たす方法に焦点を当てます。 OpenStack 上のビッグデータ 今日では、データはあらゆる場所で生成され、その量は飛躍的に増加しています。 Web サーバー、アプリケーション サーバー、データベース サーバーからのデータは、ユーザー情報、ログ ファイル、システム ステータス情報の形式で提供されます。センサー、車両、産業機器などの IoT デバイスからも大量のデータが生成されます。科学的シミュレーション モデルから生成されるデータもビッグ データのソースです。従来のソフトウェア ツールを使用すると、このデータを保存して分析することは困難ですが、Hadoop を使用するとこの問題を解決できます。
ユースケースのシナリオを考えてみましょう。大量のデータがリレーショナル データベース管理システム環境に保存されます。データ セットが大きくなるにつれて、RDBMS (リレーショナル データベース管理システム) のパフォーマンスは低下します。そして、データセットが拡大するにつれて、この問題はより深刻になります。この段階では、NoSQL の採用は避けてください。大量のデータをコスト効率の高い方法で保存および処理する必要があります。非仮想化環境でハイエンド サーバーに依存すべきでしょうか?要件は、いつでもクラスターを拡張することであり、そのすべてのコンポーネントを管理するためのより優れたダッシュボードが必要です。 OpenStack 上に Hadoop クラスターを構築し、ETL (抽出、変換、ロード) ジョブ環境を作成する計画を立てます。 Hadoop は、フォールト トレラントな Hadoop 分散ファイル システムと MapReduce 実装を使用して大規模なデータ セットを保存および分析するための業界標準フレームワークです。ただし、スケーラビリティは、典型的な Hadoop クラスターでは非常に一般的な問題です。 Openstack は、Sahara - Data Processing as a Service というプロジェクトを開始しました。 Openstack Sahara は、クラスター トポロジ内で Hadoop MapReduce、Spark、Storm などのデータ処理フレームワークを構成および管理するように設計されています。このプロジェクトは、Amazon Elastic MapReduce (EMR) サービスによって提供されるデータ分析プラットフォームに似ています。 Openstack Sahara は数分でクラスターをデプロイします。さらに、Openstack Sahara は、需要に応じてワーカーノードを追加または削除することでクラスターを拡張できます。 Openstack Sahara を使用して Hadoop クラスターを管理する利点
建築 Openstack Sahara は、OpenStack のコア サービスとその他の完全に管理されたサービスを活用するように設計されています。これにより、Sahara の信頼性が向上し、Hadoop クラスターを効率的に管理できるようになります。 Trove (ユーザーがリレーショナル データベースを管理し、MySQL インスタンスの非同期レプリケーションを実装し、PostgreSQL データベース インスタンスを提供する OpenStack データ サービス コンポーネント) や Swift などのサービスを使用することを選択できます。サハラの建築を見てみましょう。
Sahara クラスタの設定方法 Deploy Sahara インストール ガイドの手順に従います。デプロイメント環境によってアプローチは異なりますが、実験したい場合は Kolla も良い選択肢です。 Horizon ダッシュボードを通じて Sahara プロジェクトを管理することもできます。 Sahara Cluster ETL (抽出、変換、ロード) または ELT (抽出、ロード、変換) を使用する 市場には多くの ETL ツールが存在します。 従来のデータ ウェアハウスには、データ ソース以外の場所に配置される可能性があるなど、独自の利点と制限があります。 Hadoop は ETL ジョブを実行するのに理想的なプラットフォームです。 データ ストアには、構造化データ、半構造化データ、非構造化データなど、さまざまな種類のデータが存在します。 Hadoop エコシステムには、さまざまなデータ ソース (データベース、ファイル、その他のデータ ストリームを含む) からデータを抽出し、集中型の Hadoop 分散ファイル システム (HDFS) に保存するためのツールがあります。 データが急速に増加すると、Hadoop クラスターを拡張して OpenStack Sahara を活用できるようになります。 Apache Hive は、Hadoop エコシステム上に構築されたデータ ウェアハウス プロジェクトであり、ETL 分析のための堅牢なツールです。 Sqoop、Flume、Kafka などのツールを使用してデータ ソースからデータを抽出したら、MapReduce テクノロジーを使用した Hive または pig スクリプトを使用してデータをクリーンアップおよび変換する必要があります。 Hive のもう 1 つの利点は、Hive クエリ言語を通じてアクセスできるインタラクティブなクエリ エンジンであることです。 SQL に似ています。したがって、データベース担当者は、Java や MapReduce の概念を習得しなくても、Hadoop エコシステムでジョブを実行できます。 Hive クエリ実行エンジンは、Hive クエリを解析し、一連の MapReduce / Spark ジョブに変換します。 Hive には、JDBC/ODBC ドライバーとシン クライアントを通じてアクセスできます。 Oozie は、Hadoop エコシステムで利用できるワークフロー エンジンです。ワークフローは、分散環境でシーケンスとして実行する必要がある一連のタスクです。 Oozie は、複数のワークフローをカスケードし、調整されたジョブを作成するためのシンプルなワークフローの作成に役立ちます。 Oozie は、Hadoop 関連のすべての操作をサポートするモジュールはありませんが、複雑な ETL ジョブのワークフローを作成するのにも最適です。 Openstack Mistral (Workflow as a Service) などの任意のワークフロー エンジンを使用して ETL 作業を実行できます。 Apache oozie は、いくつかの点で Openstack Mistral に似ており、定期的にトリガーできるジョブ スケジューラとして機能します。 アプリケーションが Hadoop を使用してデータを MySQL サーバーに保存する一般的な ETL ジョブ フローを見てみましょう。保存されたデータは最小限のコストと時間で分析する必要があります。 抽出する 最初のステップは、MySQL からデータを抽出し、HDFS に保存することです。 Apache Sqoop は、RDBMS データ ストアなどの構造化データ ソースからデータをエクスポート/インポートするために使用できます。 抽出するデータが半構造化データまたは非構造化データである場合は、Apache Flume を使用して、Web サーバー ログ、Twitter データ ストリーム、センサー データなどのデータ ストリームからデータを取り込むことができます。 変換 上記のステージから抽出されたデータは正しい形式ではありません (生データのみ)。適切なフィルターとデータ集約を使用してクリーンアップする必要があります。 これは HDFS にデータを保存するために不可欠です。 この時点で、各テーブルの Hive スキーマを設計し、ステージング領域に保存されているデータを変換するためのデータベースを作成する必要があります。 通常、データは .csv 形式で、各レコードはコンマで区切られます。 HDFS データがどのように保存されているかを理解するために、HDFS データを調べる必要はありません。 Hive と互換性があるはずの珍しいデータ型がいくつかあります。 データベースがモデル化された後、抽出されたデータをロードしてクリーニングすることができます。表内のデータはまだ正規化されていません。異なるテーブルから必要な列を集計します。 同様に、「OVERWRITE INTO TABLE」ステートメントを使用して、複数のテーブルからデータを要約することもできます。 Hive はパーティション化されたテーブルをサポートしており、実行負荷を水平に分散することでクエリのパフォーマンスを向上させます。年と月の列を分割することをお勧めします。場合によっては、パーティション化されたテーブルによって MapReduce ジョブでより多くのタスクが作成されることがあります。 負荷 ここで、変換されたデータを HDFS のデータ ウェアハウス ディレクトリにロードします。これがデータの最終状態です。ここで、適切な結果を得るために SQL クエリを適用できます。 すべての DML コマンドを使用して、ユースケースに基づいてウェアハウス データを分析できます。 結果は分析用に .csv、表、またはグラフとしてダウンロードできます。 Talend OpenStudio、Tabelau などの他の一般的なビジネス インテリジェンス ツールと統合できます。 オートメーション ここで、Oozie ワークフロー エンジンを使用して ETL ジョブを自動化します (Mistral を使用することもできます。ほとんどの Hadoop ユーザーは Apache Oozie の使用に慣れています)。 結論は OpenStack は非常に大規模な Hadoop エコシステムと統合されており、多くのクラウド プロバイダーが Hadoop サービスを提供しています (クラウド管理ポータルから数回クリックするだけで利用できます)。 Sahara はほとんどの Hadoop ベンダー プラグインをサポートしており、ETL ワークフローを実行できます。 |
>>: 従来の SAN や NAS と比較した分散ストレージの利点と欠点は何ですか?
Google Cloud は、3 つの新しい通信関連製品をリリースすることでこれを実現します。これら...
現在、インターネット市場では、ほとんどのマーケティング ウェブサイトは CMS システムによって作成...
9月1日、OpenStackの最新バージョンであるPikeが正式にリリースされました。新バージョンの...
自分自身を位置付ける方法はたくさんありますが、その核心はただ一つ、認知において有利な位置を占めること...
中国商人の六易雲は2017年に設立されました(おそらく新興商人です)。主にVPS事業を運営しており、...
サーバー仮想化は、VMware が登場した約 20 年前に爆発的に普及しました。しかし、長い道のりを...
ビリビリは予定通り「2024年損益分岐点」の目標を達成できるのか?ビリビリの2022年第2四半期財務...
Bandwagonhost は vpsblast の別名で、OpenVZ をベースにした低価格の S...
検索エンジンによるザクロアルゴリズムのリリース以来、多くのウェブサイトは高品質のページを再検索する道...
Fantong.comは消滅しました。 O2Oの普及により、飲食サービスサイトは絶好調のはずだったが...
万能のツールはありませんが、予算内で最高の入出力比率を持つ優れた製品を見つけることができます。現代の...
最近、Google は、ブロックチェーン アプリケーションを実行する開発者にバックエンド サービスを...
friendhosting.net は、ブラックフライデー特別プロモーションを開始しました。今から ...
2019年上半期は、「安定と変化、変化と懸念」の経済環境の影響を受け、2019年の経済市場全体に対す...
KubeEdge 1.11 バージョンでは、クロスリージョン アプリケーション デプロイメント モデ...