React と Hadoop を使用してスケーラブルなビッグ データ アプリケーションを構築する方法
ビッグ データ アプリケーションは、あらゆる分野で共通のニーズとなっています。 Hadoop は、大量のデータを処理する場合に最も人気のあるツールの 1 つです。 React は、最新のユーザー インターフェイスを構築するための人気のある JavaScript ライブラリです。この記事では、React と Hadoop を組み合わせてスケーラブルなビッグデータ アプリケーションを構築する方法を、具体的なコード例とともに紹介します。
まず、create-react-app ツールを使用して React フロントエンド アプリケーションを構築します。ターミナルで次のコマンドを実行します。
npx create-react-app my-app cd my-app npm start
これにより、my-app という名前の React アプリケーションが作成され、起動されます。
次に、Hadoop と通信するためのバックエンド サービスを作成する必要があります。プロジェクトのルート ディレクトリに、server という名前のフォルダーを作成します。次に、サーバー フォルダーにindex.js というファイルを作成し、次のコードをファイルに追加します。
const express = require('express'); const app = express(); app.get('/api/data', (req, res) => { // 在此处编写与Hadoop通信的代码 }); const port = 5000; app.listen(port, () => { console.log(`Server running on port ${port}`); });
これにより、単純な Express サーバーが作成され、/api に追加されます。GET インターフェイスは、 /データ経路。このインターフェイスでは、Hadoop と通信するためのコードを作成できます。
npm install hadoop-connector
const HadoopConnector = require('hadoop-connector'); app.get('/api/data', (req, res) => { const hc = new HadoopConnector({ host: 'hadoop-host', port: 50070, user: 'hadoop-user', namenodePath: '/webhdfs/v1' }); const inputStream = hc.getReadStream('/path/to/hadoop/data'); inputStream.on('data', data => { // 处理数据 }); inputStream.on('end', () => { // 数据处理完毕 res.send('Data processed successfully'); }); inputStream.on('error', error => { // 出错处理 res.status(500).send('An error occurred'); }); });
getReadStream メソッドを使用して、Hadoop クラスターからデータ ストリームを取得します。データ ストリーム上で、データを処理するイベント リスナーをセットアップできます。この例では、「データ」イベント、「終了」イベント、および「エラー」イベントのみをログに記録しました。 「data」イベントではデータを処理でき、「end」イベントではフロントエンド アプリケーションに応答を送信できます。
useEffect フックを使用して、コンポーネントがデータをロードするときにデータをロードします。 App.js ファイルに、次のコードを追加します。
import React, { useEffect, useState } from 'react'; function App() { const [data, setData] = useState([]); useEffect(() => { fetch('/api/data') .then(response => response.json()) .then(data => setData(data)) .catch(error => console.log(error)); }, []); return ( <div> {data.map(item => ( <div key={item.id}> <h2>{item.title}</h2> <p>{item.content}</p> </div> ))} </div> ); } export default App;
fetch 関数を使用して、バックエンド API によって提供されるデータを取得し、それを状態として設定します。コンポーネントの 。その後、コンポーネント内でその状態を使用してデータをレンダリングできます。
cd my-app npm start
cd server node index.js
http:///localhost:3000 でアプリケーション インターフェイスを表示します。
以上がReact と Hadoop を使用してスケーラブルなビッグ データ アプリケーションを構築する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。