Maison > développement back-end > tutoriel php > Premiers pas avec PHP : PHP et Flink

Premiers pas avec PHP : PHP et Flink

WBOY
Libérer: 2023-05-20 09:36:02
original
1180 Les gens l'ont consulté

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
';
Copier après la connexion

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");
    }
}
Copier après la connexion

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}
";
}
Copier après la connexion

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
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal