我不確定是否理解TextInputFormat的工作方式。在文檔中提到:Hadoop Mapreduce:TextInputFormat和處理行?
純文本文件的InputFormat。文件被分解成行。
所以我認爲當我簡單地將我作爲Input的輸入值轉換爲我的map函數爲String時,我的文件中會有一個字符串表示形式。
public void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException {
String line = value.toString(); \\ one line of my input file?
...
}
但是,經過進一步處理該行後發現它實際上不是我的文件中的一行。我的文件city.dat看起來是這樣的:
Andorra la Vella|ad|Andorra la Vella|20430|42.51|1.51
Canillo|ad|Canillo|3292|42.57|1.6
...
誰能告訴我怎麼可以有處理此文件在我的地圖功能的線路?
在TextInputFormat的情況下,映射的值是來自輸入的一行。如果不是,那麼程序中可能會有一些東西被搞亂。 –
那你確定這個值只包含我輸入文件的一行嗎? – gaussd
我將如何確定它:) –