2017-09-19 3 views
0

HDFSにストリームデータを更新するために使用されるのHadoop -put対のHadoop -appendToFileの違いは何である -以下の説明は、クラスから引き出されるHadoopのソースコードを1として連続的

がappendToFile

"Appends the contents of all the given local files to the 
given dst file. The dst file will be created if it does not exist." 

を置きます

ローカルファイルシステムのストリーミングソースから動的に更新されるため、ファイルをhdfsに定期的に更新しようとしています。

私はappendToFileの中からどれを使用すればよいでしょうか?なぜですか?

答えて

1

appendToFileは、HDFS内の既存のファイルを変更するため、新しいデータのみをファイルシステムにストリーミング/ライトする必要があります。

putはファイル全体を書き換えますので、新しいバージョンのファイル全体をファイルシステムにストリーミング/ライトする必要があります。

ファイルに追加するだけの場合(つまり、ファイルの最後にログを追加する場合)は、appendToFileを優先する必要があります。これがあなたのユースケースであれば、この機能はより高速になります。ファイルが終わりまで単純な追加だけでなく変化している場合は、putを使用する必要があります(遅くなりますが、データが失われたり、ファイルが破損することはありません)。

関連する問題