Maison > Article > développement back-end > Premiers pas avec PHP : PHP et Flink
PHP est un langage de script open source côté serveur populaire. Il est recommandé aux débutants d'apprendre la relation entre PHP et Flink en étudiant le guide de démarrage PHP.
PHP est un langage de script spécifiquement utilisé pour le développement Web. Il est couramment utilisé pour la programmation Web dynamique, mais peut également être écrit via une méthode de ligne de commande. De plus, les développeurs peuvent créer des applications et des extensions en utilisant PHP pour améliorer leurs fonctionnalités.
Flink est un framework de traitement de Big Data qui peut gérer à la fois le traitement des données en temps réel et par lots. Ces données peuvent provenir de diverses sources telles que les clusters Hadoop, les files d'attente de messages Kafka, AWS S3, MongoDB et Elasticsearch. Flink se caractérise par un traitement unifié des données en temps réel et des données par lots, ainsi que par une conversion entre différentes données.
Voyons maintenant comment créer des applications de données à l'aide de PHP et Flink.
Étape 1 : Préparation
Pour utiliser PHP et Flink, vous devez d'abord installer PHP et Flink. PHP peut être installé en suivant ces étapes :
1. Téléchargez le fichier exécutable PHP et extrayez-le dans un répertoire spécifique.
2. Installez les bibliothèques d'extensions nécessaires, telles que MySQL, PDO et GD, etc.
3. Configurez le fichier PHP.ini pour activer les extensions requises et définir les paramètres.
Pour installer Flink, suivez ces étapes :
1. Téléchargez le binaire Flink et extrayez-le dans un répertoire spécifique.
2. Ajoutez le répertoire bin de Flink au chemin du système.
3.Définissez les paramètres requis dans le fichier de configuration.
Une fois l'installation terminée, vous pouvez commencer à utiliser PHP et Flink.
Étape 2 : Créer l'application en utilisant PHP et Flink
Dans cet exemple, nous allons créer une application simple de traitement de données en temps réel en utilisant PHP et Flink. L'application obtiendra les données de la file d'attente de messages Kafka et les enverra au cluster Flink pour traitement. Ensuite, nous utiliserons PHP pour nous connecter à l'API Flink REST afin de surveiller l'état du processus de traitement des données.
Il s'agit d'un simple script PHP pour écrire des messages de journal dans une file d'attente de messages Kafka :
<?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 ';
Le script PHP ci-dessus envoie des messages à un sujet Kafka nommé "logs".
Ensuite, le code utilisera l'API de streaming Flink pour écrire une logique simple de traitement des données. Dans cet exemple, nous allons lire les messages du journal du sujet Kafka et les convertir en lettres majuscules.
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"); } }
Le code Java ci-dessus lira les messages du journal dans le sujet Kafka, les convertira en lettres majuscules et imprimera les résultats sur la console.
Nous devons maintenant écrire un script PHP pour nous connecter à l'API Flink REST et surveiller le processus de traitement des données. Voici le script 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} "; }
Le script PHP ci-dessus se connectera à l'API REST Flink et répertoriera l'état de toutes les tâches Flink en cours d'exécution.
Étape 3 : Exécutez l'application
Pour exécuter l'application, suivez ces étapes dans l'ordre :
1. Exécutez Kafka dans la ligne de commande.
2. Démarrez le cluster Flink.
3. Exécutez le script PHP pour écrire les messages de journal dans Kafka.
4. Soumettez le travail Flink au cluster.
5. Exécutez des scripts PHP pour surveiller l'état et les résultats des tâches Flink.
Le résultat devrait ressembler à ceci :
Simple Flink Job: RUNNING THIS IS A LOG MESSAGE
Le résultat ci-dessus indique que le travail Flink est en cours d'exécution et convertit avec succès les messages du journal en lettres majuscules.
Conclusion
PHP et Flink sont tous deux des outils très utiles pour créer des applications volumineuses et plus complexes. En étudiant le guide de démarrage PHP, vous pouvez commencer à utiliser PHP et Flink pour créer des applications de traitement de données efficaces. Espérons que cet exemple de code constitue un bon point de départ pour les débutants.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!