J'écris un script shell pour mettre les données dans hadoop dès qu'elles sont générées. Je peux ssh à mon noeud maître, copier les fichiers dans un dossier là-bas et les mettre dans hadoop. Je suis à la recherche d'une commande shell pour se débarrasser de la copie du fichier sur le disque local sur le nœud maître. pour mieux expliquer ce que je dois, ici-bas vous pouvez trouver ce que j'ai jusqu'à présent:mettre un fichier distant dans hadoop sans le copier sur le disque local
1) Copiez le fichier sur le nœud maître disque local:
scp test.txt [email protected]:/folderName/
J'ai déjà configuré la connexion SSH à l'aide des touches. Donc, aucun mot de passe n'est nécessaire pour cela.
2) Je peux utiliser ssh pour exécuter à distance la Hadoop commande mis:
ssh [email protected] "hadoop dfs -put /folderName/test.txt hadoopFolderName/"
ce que je cherche est de savoir comment tuyau/combiner ces deux étapes en une seule et sauter la copie locale du fichier sur Le disque local de masterNode.
grâce
En d'autres termes, je veux plusieurs tuyaux commande d'une manière que je peux
Le problème de tuyauterie est résolu. Cependant, la performance de la tuyauterie est beaucoup plus lente que de copier les fichiers d'abord sur le disque local du nœud maître, puis de les copier dans Hadoop. Une idée? – reza