2017-08-10 1 views
0

Nous avons des données API dans SQL Server qui est mis à jour toutes les 5 min. Avoir à pousser les données à HDFS dans la distribution cloudera dans le même intervalle de temps. Quels sont les outils disponibles pour cela?L'ingestion de données en temps quasi réel de SQL SERVER à HDFS dans cloudera

+0

qu'est-ce que PLC et HDFS? – ibubi

+2

PLC signifie contrôleur logique programmable. HDFS est le système de fichiers distribué hadoop. –

Répondre

0

Je suggère d'utiliser le Confluent Kafka pour cette tâche (https://www.confluent.io/product/connectors/).

L'idée est la suivante:

SQLServer -> [JDBC-Connector] -> Kafka -> [HDFS-Connector] -> HDFS

Tous ces connecteurs sont déjà disponibles via site web confluent.

+0

merci .. l'essayer. et revenez – Soz

0

Je suppose que vos données sont écrites dans un répertoire dans FS local. Vous pouvez utiliser un moteur de streaming pour cette tâche. Puisque vous avez marqué ceci avec apache-spark, je vais vous donner la solution Spark Streaming. En utilisant le streaming structuré, votre consommateur de streaming regardera votre répertoire de données. Spark streaming lit et traite les données dans des micro-lots configurables (temps d'attente du flux) qui, dans votre cas, durera 5 min. Vous pouvez enregistrer des données dans chaque micro-lot sous forme de fichiers texte qui utiliseront votre cluster cloudera hadoop pour le stockage. Faites-moi savoir si cela a aidé.

À votre santé.

+0

: Merci pour la suggestion. Nous avons eu à lire les données du serveur sql. Les données ne sont pas transmises à FS. peut étincelle aide en streaming dans ce cas. – Soz

+0

oui en utilisant jdbc vous pouvez lire à partir de n'importe quelle source de données dans l'étincelle. –

0

Vous pouvez google l'outil nommé Socoop. C'est un logiciel open source.

+0

J'ai utilisé Sqoop, c'est plus comme un traitement par lots. Mais j'ai besoin d'une ingestion de données en temps réel d'un SQL Server. – Soz