0
Ich habe einen Java-Code geschrieben, um RowId in Java zu erstellen. Aber ich muss es in mapreduce umwandeln. Ich bin neu bei MapReduce und brauche deine Hilfe.Sequenznummern in mapreduce
Eingang ist eine Datei im lokalen
example: Alex 23 M NY
Alex 19 M NJ
Alex 29 M DC
Michael 20 M NY
Michael 24 M DC
Count-Datei als Sekundär-Eingang bietet Beispiel:
Alex 3
Michael 2
Desired Output:
1 Alex 23 M NY
2 Alex 19 M NJ
3 Alex 29 M DC
1 Michael 20 M NY
2 Michael 24 M DC
in Java Mein Code ist hier:
public class RowId
{
public static void main(String [] args) throws IOException
{
BufferReader in = null;
BufferReader cnt = null;
BufferWriter out = null;
String in_line;
String out_line;
int frst_row_ind=1;
int row_cnt=0;
int new_col=0;
try{
in= BufferReader(new FileReader ("file path in local");
File out_file = new File("o/p path in local");
if(!out_file.exists()){
out_file.createNewFile();
}
FileWriter fw = new FileWriter(out_file);
out = new BufferWriter(fw);
while((in_line = in.readLine())! = null)
{
if (in_line!=null)
{
String[] splitData = in_line.split("\\t");
cnt = new BufferReader(new FileReader("file path of countFile")
while((cnt_line=cnt.readLine()) != null)
{
String[] splitCount = cnt_line.split("\\t");
if ((splitCount[0]).equalsIgnoreCase(splitData[0]))
{
if (frst_row_ind==1)
{
row_cnt = Integer.parseInt(splitCount[1]);
}
new_col++
out.write(String.valueOf(new_col));
out.write("\\t");
for(int i= 0; i <splitData.length; i++)
{
if (!(splitData[i] == null) || (splitData[i].length()== 0))
{
out.write(splitData[i].trim());
if (i!=splitData.length-1)
{
out.write("\\t");
}
}
}
row_cnt--;
out.write("\r\n");
if(row_cnt==0)
{
frst_row_ind=1;
new_col=0;
}
else{
frst_row_ind=0;
}
out.flush();
break;
}
}
}
}
}
catch (IOException e)
{
e.printStrackTrace();
}
finally
{
try{
if(in!=null) in.close();
if(cnt !=null) cnt.close();
}
catch (IOException e)
{
e.printStrackTrace();
}
}
}
}
Bitte revert mit deinen Ideen.
Thanx Ishan für Ihre Antwort, Aber Können Sie mir erklären, wie dies zu work.I soll bedeuten, wie ich die Zählung Datei zur Verfügung stellen müssen. und die Haupteingabedatei mit anderen Anmeldeinformationen. – pamel
Pamel, ich sehe keine Rolle der Zähldatei für Ihre gewünschte Ausgabe. Bitte erläutern Sie mir das Gleiche. –
Ja, ich hab dich! Vielen Dank für die Antwort. Es hat mir sehr geholfen. – pamel