Heim > Artikel > Backend-Entwicklung > Erste Schritte mit PHP: PHP und Flink
PHP ist eine beliebte serverseitige Open-Source-Skriptsprache. Es wird empfohlen, dass Anfänger die Beziehung zwischen PHP und Flink lernen, indem sie den PHP-Einstiegsleitfaden studieren.
PHP ist eine Skriptsprache, die speziell für die Webentwicklung verwendet wird. Es wird häufig für die dynamische Webprogrammierung verwendet, kann aber auch in einer Befehlszeilenmethode geschrieben werden. Darüber hinaus können Entwickler mithilfe von PHP Anwendungen und Erweiterungen erstellen, um deren Funktionalität zu erweitern.
Flink ist ein Big-Data-Verarbeitungsframework, das sowohl Echtzeit- als auch Batch-Datenverarbeitung verarbeiten kann. Diese Daten können aus verschiedenen Quellen stammen, beispielsweise aus Hadoop-Clustern, Kafka-Nachrichtenwarteschlangen, AWS S3, MongoDB und Elasticsearch. Flink zeichnet sich durch eine einheitliche Verarbeitung von Echtzeitdaten und Batch-Daten sowie die Konvertierung zwischen verschiedenen Daten aus.
Jetzt sehen wir uns an, wie man Datenanwendungen mit PHP und Flink erstellt.
Schritt 1: Vorbereitung
Um PHP und Flink zu verwenden, müssen Sie zuerst PHP und Flink installieren. PHP kann wie folgt installiert werden:
1. Laden Sie die ausführbare PHP-Datei herunter und extrahieren Sie sie in ein bestimmtes Verzeichnis.
2. Installieren Sie die erforderlichen Erweiterungsbibliotheken wie MySQL, PDO und GD usw.
3. Konfigurieren Sie die PHP.ini-Datei, um die erforderlichen Erweiterungen zu aktivieren und Parameter festzulegen.
Um Flink zu installieren, führen Sie bitte die folgenden Schritte aus:
1. Laden Sie die Flink-Binärdatei herunter und extrahieren Sie sie in ein bestimmtes Verzeichnis.
2. Fügen Sie das bin-Verzeichnis von Flink zum Systempfad hinzu.
3.Stellen Sie die erforderlichen Parameter in der Konfigurationsdatei ein.
Nachdem die Installation abgeschlossen ist, können Sie mit der Verwendung von PHP und Flink beginnen.
Schritt 2: Erstellen Sie die Anwendung mit PHP und Flink
In diesem Beispiel erstellen wir eine einfache Echtzeit-Datenverarbeitungsanwendung mit PHP und Flink. Die Anwendung ruft Daten aus der Kafka-Nachrichtenwarteschlange ab und sendet sie zur Verarbeitung an den Flink-Cluster. Als nächstes werden wir PHP verwenden, um eine Verbindung zur Flink-REST-API herzustellen, um den Status des Datenverarbeitungsprozesses zu überwachen.
Dies ist ein einfaches PHP-Skript zum Schreiben von Protokollnachrichten in eine Kafka-Nachrichtenwarteschlange:
<?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 ';
Das obige PHP-Skript sendet Nachrichten an ein Kafka-Thema namens „logs“.
Als nächstes verwendet der Code die Flink-Streaming-API, um eine einfache Datenverarbeitungslogik zu schreiben. In diesem Beispiel lesen wir die Protokollnachrichten aus dem Kafka-Thema und wandeln sie in Großbuchstaben um.
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"); } }
Der obige Java-Code liest die Protokollnachrichten im Kafka-Thema, wandelt sie in Großbuchstaben um und gibt die Ergebnisse auf der Konsole aus.
Jetzt müssen wir ein PHP-Skript schreiben, um eine Verbindung zur Flink-REST-API herzustellen und den Datenverarbeitungsprozess zu überwachen. Hier ist das PHP-Skript:
<?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} "; }
Das obige PHP-Skript stellt eine Verbindung zur Flink-REST-API her und listet den Status aller aktuell ausgeführten Flink-Jobs auf.
Schritt 3: Führen Sie die Anwendung aus.
Um die Anwendung auszuführen, führen Sie diese Schritte nacheinander aus:
1. Führen Sie Kafka in der Befehlszeile aus.
2. Starten Sie den Flink-Cluster.
3. Führen Sie ein PHP-Skript aus, um Protokollnachrichten an Kafka zu schreiben.
4. Senden Sie den Flink-Job an den Cluster.
5. Führen Sie PHP-Skripte aus, um den Status und die Ergebnisse von Flink-Jobs zu überwachen.
Die Ausgabe sollte wie folgt aussehen:
Simple Flink Job: RUNNING THIS IS A LOG MESSAGE
Die obige Ausgabe zeigt an, dass der Flink-Job ausgeführt wird und die Protokollmeldungen erfolgreich in Großbuchstaben konvertiert werden.
Fazit
Sowohl PHP als auch Flink sind sehr nützliche Tools zum Erstellen großer und komplexerer Anwendungen. Wenn Sie den PHP-Einstiegsleitfaden studieren, können Sie mit der Verwendung von PHP und Flink beginnen, um effiziente Datenverarbeitungsanwendungen zu erstellen. Hoffentlich ist dieser Beispielcode ein guter Ausgangspunkt für Anfänger.
Das obige ist der detaillierte Inhalt vonErste Schritte mit PHP: PHP und Flink. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!