PHP は、人気のあるオープン ソースのサーバーサイド スクリプト言語です。初心者は、PHP と Flink の関係を理解するために、PHP スタート ガイドを学習することをお勧めします。
PHP は、Web 開発に特に使用されるスクリプト言語です。これは動的 Web プログラミングによく使用されますが、コマンドライン メソッドで記述することもできます。さらに、開発者は PHP を使用してアプリケーションや拡張機能を構築し、機能を強化できます。
Flink は、リアルタイム データ処理とバッチ データ処理の両方を処理できるビッグ データ処理フレームワークです。このデータは、Hadoop クラスター、Kafka メッセージ キュー、AWS S3、MongoDB、Elasticsearch などのさまざまなソースから取得できます。 Flinkは、リアルタイムデータとバッチデータを一元的に処理し、異なるデータ間の変換を行うことが特徴です。
次に、PHP と Flink を使用してデータ アプリケーションを構築する方法を見てみましょう。
ステップ 1: 準備
PHP と Flink を使用するには、まず PHP と Flink をインストールする必要があります。 PHP は、次の手順に従ってインストールできます:
1. PHP 実行可能ファイルをダウンロードし、特定のディレクトリに抽出します。
2. MySQL、PDO、GD などの必要な拡張ライブラリをインストールします。
3. PHP.ini ファイルを構成して、必要な拡張機能を有効にし、パラメーターを設定します。
Flink をインストールするには、次の手順を実行してください:
1. Flink バイナリ ファイルをダウンロードし、特定のディレクトリに抽出します。
2. Flink の bin ディレクトリをシステム パスに追加します。
3.構成ファイルに必要なパラメータを設定します。
インストールが完了したら、PHP と Flink の使用を開始できます。
ステップ 2: PHP と Flink を使用してアプリケーションを構築する
この例では、PHP と Flink を使用して単純なリアルタイム データ処理アプリケーションを構築します。アプリケーションは Kafka メッセージ キューからデータを取得し、それを処理のために Flink クラスターに送信します。次に、PHP を使用して Flink REST API に接続し、データ処理プロセスのステータスを監視します。
これは、ログ メッセージを Kafka メッセージ キューに書き込むための単純な PHP スクリプトです:
<?php require_once('./vendor/autoload.php'); $conf = new RdKafkaConf(); $conf->set('metadata.broker.list', 'localhost:9092'); $producer = new RdKafkaProducer($conf); $producer->addBrokers('localhost:9092'); $topic = $producer->newTopic('logs'); $message = 'This is a log message'; $topic->produce(RD_KAFKA_PARTITION_UA, 0, $message); echo 'Message sent to Kafka ';
上記の PHP スクリプトは、「logs」という名前の Kafka トピックにメッセージを送信します。
次に、コードは Flink ストリーミング API を使用して、単純なデータ処理ロジックを作成します。この例では、Kafka トピックからログ メッセージを読み取り、大文字に変換します。
package com.example.flink; import org.apache.flink.streaming.api.datastream.DataStream; import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment; import org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumer; import java.util.Properties; public class SimpleFlinkJob { public static void main(String[] args) throws Exception { // set up the streaming execution environment final StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); // set up Kafka consumer properties and create a consumer Properties properties = new Properties(); properties.setProperty("bootstrap.servers", "localhost:9092"); properties.setProperty("group.id", "test"); FlinkKafkaConsumer<String> consumer = new FlinkKafkaConsumer<>("logs", new SimpleStringSchema(), properties); // get the data stream from Kafka DataStream<String> input = env.addSource(consumer); // map the data stream to uppercase DataStream<String> output = input.map(String::toUpperCase); // print the result output.print(); // execute the Flink job env.execute("Simple Flink Job"); } }
上記の Java コードは、Kafka トピック内のログ メッセージを読み取り、大文字に変換し、結果をコンソールに出力します。
次に、Flink REST API に接続し、データ処理プロセスを監視するための PHP スクリプトを作成する必要があります。以下は PHP スクリプトです:
<?php require_once('./vendor/autoload.php'); use GuzzleHttpClient; // create a new HTTP client for connecting to Flink REST API $client = new Client([ 'base_uri' => 'http://localhost:8081', ]); // request the list of running Flink jobs $response = $client->get('/jobs/overview'); // output the status of each Flink job foreach (json_decode($response->getBody()) as $job) { echo "{$job->name}: {$job->state} "; }
上記の PHP スクリプトは Flink REST API に接続し、現在実行中のすべての Flink ジョブのステータスを一覧表示します。
ステップ 3: アプリケーションの実行
アプリケーションを実行するには、次の手順を順番に実行してください:
1. コマンド ラインで Kafka を実行します。
2. Flink クラスターを開始します。
3. PHP スクリプトを実行して、ログ メッセージを Kafka に書き込みます。
4. Flink ジョブをクラスターに送信します。
5. PHP スクリプトを実行して、Flink ジョブのステータスと結果を監視します。
出力は次のようになります。
Simple Flink Job: RUNNING THIS IS A LOG MESSAGE
上記の出力は、Flink ジョブが実行中であり、ログ メッセージが大文字に正常に変換されていることを示しています。
結論
PHP と Flink はどちらも、大規模でより複雑なアプリケーションを構築するために使用できる非常に便利なツールです。 PHP 入門ガイドを学習すると、PHP と Flink を使用して効率的なデータ処理アプリケーションを構築できるようになります。このサンプル コードが初心者にとって良い出発点となることを願っています。
以上がPHP 入門: PHP と Flinkの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。