50 votes

Comment charger des données à rucher depuis HDFS sans supprimer le fichier source ?

Lorsque vous chargez des données de HDFS vers Hive, en utilisant

 LOAD DATA INPATH 'hdfs_file' INTO TABLE tablename;

commande, il semble qu'il déplace le fichier hdfs_file vers hive/warehouse dir. Est-il possible (Comment ?) de le copier au lieu de le déplacer, afin que le fichier soit utilisé par un autre processus.

4voto

Avinash Points 843

Une alternative à 'LOAD DATA' est disponible dans laquelle les données ne seront pas déplacées de votre emplacement source existant vers l'emplacement de l'entrepôt de données de la ruche.

Vous pouvez utiliser la commande ALTER TABLE avec l'option 'LOCATION'. Voici la commande requise ci-dessous

 ALTER TABLE table_name ADD PARTITION (date_col='2017-02-07') LOCATION 'hdfs/path/to/location/'

La seule condition ici est que l'emplacement doit être un répertoire au lieu d'un fichier.

J'espère que cela résoudra le problème.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X