Stream SQL explication

740 0 0 0

Cet article concerne l'explication SQL du flux. Veuillez trouver plus de détails ci-dessous.


1. Principe et architecture SQL de calcul de flux


Le streaming SQL est généralement un langage déclaratif de type SQL, principalement utilisé pour l'interrogation continue de données en continu (Streams). Afin de faire partie de la plate-forme et du framework d'informatique courants (tels que Storm, Spark Streaming, Flink, Beam, etc.), réduisez le seuil de développement en temps réel en créant une couche d'abstraction SQL utilisant un langage SQL simple et commun.


Le principe de l'informatique en flux SQL est en réalité très simple, il s'agit de créer un pont entre SQL et le moteur d'informatique en flux sous-jacent. Le SQL de flux informatique est soumis par l’utilisateur, traduit par la couche de moteur SQL dans l’API sous-jacente et sur le moteur informatique de flux sous-jacent exécuté. Par exemple, pour Storm, il sera automatiquement traduit dans la topologie de tâche de Storm et exécuté sur le cluster Storm.


Le moteur SQL de calcul par flux est au cœur du SQL de traitement par flux. Il est principalement responsable des opérations de saisie SQL de l'utilisateur pour l'analyse, l'analyse sémantique, la génération de plans logiques, l'exécution de plans logiques et la génération de plans d'exécution physiques. La véritable implémentation de l'informatique est la plate-forme informatique sous-jacente.


Contrairement aux tâches hors ligne, les données en temps réel affluent constamment. Par conséquent, pour utiliser SQL dans le traitement abstrait des flux, le calcul par flux SQL introduit également le concept de " table ", mais la table est une table dynamique.


Le flux de SQL est comme suit:


diffusion


2. Stream computing SQL: la principale technologie de développement en temps réel du futur


Le calcul de flux SQL a une progression et un support différents dans divers frameworks informatiques. Storm SQL est juste une fonctionnalité expérimentale. Flink SQL est l'API principale promue par Flink. Flink est un moteur de calcul en flux open source natif et il n'existe actuellement aucun autre moteur de traitement en flux open source offrant de meilleurs flux que Flink. Calculez la structure et la syntaxe SQL, etc., afin que Flink SQL définisse en réalité les annotations pour le calcul du flux SQL.


3. Opérations DataFrame et SQL


Vous pouvez facilement utiliser les opérations DataFrames et SQL sur le transfert de données. Vous devez créer une SparkSession à l'aide du SparkContext utilisé par StreamingContext. De plus, cela doit être fait pour pouvoir le redémarrer en cas de panne du pilote. Ceci est fait en créant une instance singleton paresseusement instanciée de SparkSession. Ceci est montré dans l'exemple suivant. Il modifie l' exemple de compte précédent afin de générer des comptes à l'aide de DataFrames et SQL. Chaque RDD est converti en un DataFrame, enregistré en tant que table temporaire, puis interrogé via SQL.


java pour le streaming


Vous pouvez également exécuter des requêtes SQL sur des tables définies sur des données en continu provenant d'un autre thread (c'est-à-dire, asynchrones par rapport à StreamingContext en cours d'exécution). Assurez-vous simplement que vous définissez StreamingContext pour conserver une quantité suffisante de données en continu afin que la requête puisse être exécutée. Sinon, StreamingContext, qui ignore toutes les requêtes SQL asynchrones, supprimera les anciennes données en continu avant la fin de la requête. Par exemple, si vous souhaitez interroger le dernier lot, mais que l'exécution de votre requête peut durer 5 minutes, appelez streamingContext.remember (Minutes (5)) (en scala ou équivalent dans d'autres langues).



  • x
  • Standard:

Commentaire

envoyer
Connectez-vous pour répondre. Se connecter | Enregistrer

Remarque Remarque : Afin de protéger vos droits et intérêts légitimes, ceux de la communauté et des tiers, ne divulguez aucun contenu qui pourrait présenter des risques juridiques pour toutes les parties. Le contenu interdit comprend, sans toutefois s'y limiter, le contenu politiquement sensible, le contenu lié à la pornographie, aux jeux d'argent, à l'abus et au trafic de drogues, le contenu qui peut divulguer ou enfreindre la propriété intellectuelle d'autrui, y compris les secrets professionnels, les marques commerciales, les droits d'auteur et les brevets, ainsi que la vie privée personnelle. Ne partagez pas votre nom d'utilisateur ou votre mot de passe avec d'autres personnes. Toutes les opérations effectuées à partir de votre compte seront considérées comme vos propres actions, et toutes les conséquences en découlant vous seront imputées. Pour plus de détails, voir « Politique de confidentialité ».
Si le bouton de la pièce-jointe n'est pas disponible, mettez à jour Adobe Flash Player à la dernière version.
Connectez-vous pour participer à la communication et au partage

Connectez-vous pour participer à la communication et au partage

S'identifier