Mysql
 sql >> Base de données >  >> RDS >> Mysql

Un moyen de lire les données de table de Mysql à Pig

Comme vous le dites, DBStorage ne prend en charge que l'enregistrement des résultats dans une base de données.

Pour charger des données à partir de MySQL, vous pouvez consulter un projet appelé sqoop (qui copie les données d'une base de données vers HDFS), ou vous pouvez effectuer un vidage mysql, puis copier le fichier dans HDFS. Les deux méthodes nécessitaient une certaine interaction et ne pouvaient pas être utilisées directement depuis Pig.

Une troisième option serait de se pencher sur l'écriture d'un Pig LoadFunc (vous dites que vous avez essayé d'écrire un UDF). Cela ne devrait pas être trop difficile, vous devrez passer à peu près les mêmes options que DBStorage (pilote, informations d'identification de connexion et une requête SQL à exécuter), et vous pouvez probablement utiliser une inspection des métadonnées de l'ensemble de résultats pour générer automatiquement un schéma également.