2017-07-11 1 views
0

J'essaie d'importer des données de mysql vers hdfs via sqoop mais après avoir importé ses données de stockage dans mon dossier /home/<user>/<tablename> pas dans hdfs.SQOOP importer les données du magasin dans le système de fichiers local pas dans HDFS

sqoop import -fs local \ 
    -jt local \ 
    -libjars /tmp/sqoop-amar/compile/00992af844025da3f2ee7d83cb03a6b3/user_account.jar \ 
    --create-hive-table --connect jdbc:mysql://localhost/ecom \ 
    --username root --password 123456 \ 
    --hive-import --table user_account 
+0

Est-ce que votre 'core-site.xml 'pointant sur' fichier: /// '? Et pas 'hdfs: // : '? –

Répondre

1

Veuillez noter que vous utilisez -fs local argument. En raison de cet argument, les données importées sont stockées dans le système de fichiers local au lieu de hdfs.

1

commande Sqoop:

sqoop import [GENERIC-ARGS] [TOOL-ARGS] 

L'une des options est:

-fs <local|namenode:port>  specify a namenode 

Si vous utilisez -fs local le fichier sera stocké sur le système de fichiers local. Vous pouvez spécifier les détails du port & du noeud de nom ou ne pas utiliser l'option -fs, par défaut, il est stocké dans HDFS.

Référez: Sqoop Docs

0

importer dans votre répertoire local u besoin de spécifier le répertoire cible avec la table sql à IMPRT comme -

Sqoop import --connect jdbc: mysql: // ip_address: port/nom_bd? --username XXX --password XXX --driver com.mysql.cj.jdbc.Driver --table TABLE_NAME --m 1 --target-dir/usr/local/new