Fermer

juillet 2, 2023

Aucun cadre d’ingestion de données de code à l’aide d’Apache-Flink

Aucun cadre d’ingestion de données de code à l’aide d’Apache-Flink


Le transfert de données provenant de nombreuses sources vers un support de stockage où elles peuvent être consultées, utilisées et analysées par une organisation est connu sous le nom d’ingestion de données. Généralement, la destination est un entrepôt de données, un magasin de données, une base de données ou un stockage de documents. Les sources peuvent inclure des RDBMS tels que MySQL, Oracle et Postgres. La couche d’ingestion de données sert de base à tout cadre d’ingénierie de données.

Qu’est-ce qu’Apache Flink ?

Apache Flink est un framework de traitement de flux distribué gratuit et open source qui peut être utilisé pour l’analyse en temps réel et le traitement d’ensembles de données massifs. Il a été créé pour gérer le traitement par lots et par flux de manière cohérente, ce qui en fait une excellente solution pour les cas d’utilisation qui nécessitent les deux. Flink accepte les données de diverses sources, y compris les flux d’événements, les bases de données et les systèmes de fichiers. Il inclut des filtres, des cartes, des jointures et des agrégations parmi ses opérations de transformation et d’analyse de données. L’une des principales forces de Flink est sa capacité à traiter les données de streaming en temps réel, ce qui signifie qu’il peut gérer de grandes quantités de données avec un délai minimal. Il permet également la tolérance aux pannes, garantissant que le traitement peut continuer même si le système tombe en panne.

Comment utilisons-nous Flink ?

X

TO THE NEW a automatisé le processus d’ingestion de données à l’aide de PyFlink. Nous avons écrit un wrapper Python en haut du code SQL, qui automatise le processus d’ingestion, où l’utilisateur n’a qu’à transmettre le fichier JSON avec les détails appropriés qui établissent la connexion entre la source et la destination afin que l’ingestion puisse se produire. Notre framework offre diverses fonctionnalités telles que la lecture de données à partir de sources RDBMS à l’aide de PyFlink et leur écriture sur S3, HDFS à l’aide de l’outil Flink et la charge incrémentielle.

Caractéristiques de base

Lecture de données à partir de sources RDBMS à l’aide de PyFlink et écriture sur S3, HDFS.

  • Les utilisateurs peuvent utiliser Nimbus-Flink pour ingérer des données provenant de nombreuses sources vers des destinations distinctes.
  • Il n’est pas nécessaire d’écrire un script ou un code.
  • L’utilisateur n’a pas besoin de se soucier des configurations complexes.
  • Nimbus-Flink s’occupera du reste si les utilisateurs donnent les détails de la source et de la destination dans des fichiers JSON facilement modifiables.

Options d’assistance :

Sources prises en charge :Destinations prises en charge :
MySqlCompartiment AWS S3, HDFS
OracleCompartiment AWS S3, HDFS
postgresCompartiment AWS S3, HDFS

Comment utiliser Nimbus-Flink ?

INSTALLATION

Prérequis

Java 8 ou 11 (sudo apt-get install openjdk-8-jdk)

Pyflink 1.17.0

Pour mysql

Pot de connecteur JDBC

Le fichier jar du connecteur JDBC doit se trouver dans le dossier « lib » de pyflink 1.15.3 ou version supérieure.

Connecteur MySQL pot

Le fichier jar du connecteur Mysql doit également se trouver dans le dossier « lib » de pyflink 1.15.3 ou version supérieure.

Connecteur MySQL-java pot

Ce pot doit résider dans le dossier lib de Pyflink

Flink-sql-connector-sql-server pot

Flink-sql-connector-sql-server requis dans le dossier lib de pyflink.

Pour Oracle

Connecteur :: OJDBC (Ce fichier jar doit être dans le dossier lib de PyFlink)

Pour PostgreSQL

Connecteur :: JDBCName

Jar doit être dans le dossier lib de pyflink :: postgres-sql-jar (( (Dans (lib fo

Pour la partie S3

bocal s3-fs-presto

s3-fs-presto jar réside dans le dossier lib de pyflink.

s3-fs-presto jar réside dans son propre dossier nommé dans le dossier plugins de pyflink

NOTE: Le nom du compartiment S3 doit se trouver dans la région dans laquelle votre compte existe, les deux (compte et compartiment) doivent se trouver dans la même région.

Étapes obligatoires

Accédez au cd pyflink-1.15.3/bin/conf – – – -> ouvrez le fichier conf.yaml présent dans ce dossier.

CLÉ D’ACCÈS AWS ET CLÉ SECRÈTE AWS :

Détails de la connexion #S3_bucket :

Fs.s3.awsaccesskey : « « 

Fs.s3.awssecretkey : « « 


Pour Hadoop :

Le fichier jar requis doit se trouver dans le dossier lib de pyflink :

Hadoop-shaded-jar

Points importants à considérer avant de configurer :

  • Chemin pour hdfs hdfs://host:port/target-directory-name/.
  • Le répertoire cible doit être présent dans le hdfs.
  • Le répertoire cible doit avoir toutes les autorisations.
  • Lors de l’ingestion de données dans le compartiment s3, assurez-vous que votre compte et votre compartiment s3 se trouvent dans la même région.
  • L’ingestion à l’aide d’un nimbus flink fonctionnera sur le modèle SCD type1.

Configuration

Créer un mysql_hdfs_config.json

Comme pour les autres sources et destinations, nous devons créer un fichier JSON avec les détails appropriés.

Exécution de Nimbus-Flink :

Python main.py

Conclusion:

Apache Flink est un puissant outil de traitement de données en temps réel qui a changé la façon dont nous traitons les données pour de nombreuses organisations. Sa capacité à effectuer des calculs complexes sur de grands flux de données nous a permis de construire et de faire évoluer facilement nos systèmes en temps réel.

Nimbus-flink peut effectuer une ingestion plus rapidement, et lorsque vous utilisez l’utilisateur nimbus-flink, ne vous inquiétez pas d’un codage complexe. Les utilisateurs ont juste besoin d’écrire un simple fichier json pour effectuer l’ingestion.

Si vous avez d’autres questions, vous pouvez commenter sur le blog. Vous pouvez également vous référer à notre projet open-source : https://github.com/tothenew/nimbus-flink

TROUVÉ CELA UTILE ? PARTAGEZ-LE




Source link