2017-06-07 4 views
0

Salut J'essaie de charger le fichier csv du système de fichiers local au système de fichiers HDFS à travers le canal.J'ai un seul fichier pour l'analyse.La taille du fichier est inférieure à 5 Mo, Mais il se divise en beaucoup de parties en l'analysant sur flume. Il y a mon flume conf.fichier se scinde en plusieurs parties dans le canal

FileAgent.sources = tail 
FileAgent.channels = Channel-2 
FileAgent.sinks = HDFS 
FileAgent.sources.tail.type = exec 
FileAgent.sources.tail.command = cat /tmp/flumeSpool/2.csv 
FileAgent.sources.tail.channels = Channel-2 

FileAgent.sinks.HDFS.type = hdfs 
FileAgent.sinks.HDFS.hdfs.path = hdfs://127.0.0.1:54310/ 
FileAgent.sinks.HDFS.hdfs.fileType = DataStream 
FileAgent.sinks.HDFS.channel = Channel-2 
FileAgent.channels.Channel-2.type = file 

FileAgent.channels.Channel-2.capacity = 100000 
FileAgent.channels.Channel-2.transactionCapacity = 80000 
FileAgent.sinks.HDFS.hdfs.writeFormat = Text 
FileAgent.sinks.k1.hdfs.rollSize = 10485760 
FileAgent.sinks.k1.hdfs.rollCount = 0 
FileAgent.sinks.k1.hdfs.rollInterval = 300 

Toute aide sera appréciée.

Répondre

0

Vous avez fait une erreur dans le fichier conf flume lui-même.

FileAgent.sinks.HDFS.hdfs.writeFormat = Text 
FileAgent.sinks.k1.hdfs.rollSize = 10485760 
FileAgent.sinks.k1.hdfs.rollCount = 0 
FileAgent.sinks.k1.hdfs.rollInterval = 300 

Vous avez donné le nom du récepteur comme k1 lorsque vous l'avez défini comme HDFS au démarrage. Réécrire comme suit:

FileAgent.sinks.HDFS.hdfs.writeFormat = Text 
FileAgent.sinks.HDFS.hdfs.rollSize = 10485760 
FileAgent.sinks.HDFS.hdfs.rollCount = 0 
FileAgent.sinks.HDFS.hdfs.rollInterval = 300 

En raison de l'évier wrongname prend des valeurs par défaut pour les configurations suivantes qui sont: taille rouleau = 1024 (octets) comptage rouleau = 10 (événements) où de nombreux fichiers. (Dans le cas où k1 est un autre récepteur dans le même fichier conf, mentionnez également tous ces paramètres pour le récepteur HDFS)