Potrzebuję załadować dane z pliku tekstowego do Map Reduce, jestem gogglingiem od wielu dni, ale nie znalazłem żadnego właściwego rozwiązania dla mojej pracy. Czy istnieje metoda lub klasa, która odczytuje plik tekst/csv z systemu i zapisuje dane w tabeli HBASE. To naprawdę bardzo ważne dla mnie, proszę, jeśli ktoś mi pomoże w poznaniu MapReduce F/w.odczytać plik tekstowy z System do Hbase MapReduce
5
A
Odpowiedz
2
Do odczytu z pliku tekstowego przede wszystkim plik tekstowy powinien być w formacie hdfs. musisz określić formatu wejściowego i outputformat szuka pracy
Job job = new Job(conf, "example");
FileInputFormat.addInputPath(job, new Path("PATH to text file"));
job.setInputFormatClass(TextInputFormat.class);
job.setMapperClass(YourMapper.class);
job.setMapOutputKeyClass(Text.class);
job.setMapOutputValueClass(Text.class);
TableMapReduceUtil.initTableReducerJob("hbase_table_name", YourReducer.class, job);
job.waitForCompletion(true);
YourReducer
powinien rozciąga org.apache.hadoop.hbase.mapreduce.TableReducer<Text, Text, Text>
przykładowy kod reduktor
public class YourReducer extends TableReducer<Text, Text, Text> {
private byte[] rawUpdateColumnFamily = Bytes.toBytes("colName");
/**
* Called once at the beginning of the task.
*/
@Override
protected void setup(Context context) throws IOException, InterruptedException {
// something that need to be done at start of reducer
}
@Override
public void reduce(Text keyin, Iterable<Text> values, Context context) throws IOException, InterruptedException {
// aggregate counts
int valuesCount = 0;
for (Text val : values) {
valuesCount += 1;
// put date in table
Put put = new Put(keyin.toString().getBytes());
long explicitTimeInMs = new Date().getTime();
put.add(rawUpdateColumnFamily, Bytes.toBytes("colName"), explicitTimeInMs,val.toString().getBytes());
context.write(keyin, put);
}
}
}
klasa odwzorowujący Próbka
public static class YourMapper extends Mapper<LongWritable, Text, Text, IntWritable> {
private final static IntWritable one = new IntWritable(1);
private Text word = new Text();
public void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException {
String line = value.toString();
StringTokenizer tokenizer = new StringTokenizer(line);
while (tokenizer.hasMoreTokens()) {
word.set(tokenizer.nextToken());
context.write(word, one);
}
}
}
Powiązane problemy
- 1. Golang: Jak odczytać plik tekstowy?
- 2. Jak odczytać plik tekstowy z usługi Windows?
- 3. Jak odczytać dane z Hbase?
- 4. Jak odczytać rosnący plik tekstowy w C++?
- 5. Jak odczytać plik tekstowy w JavaScript
- 6. Jak odczytać duży plik tekstowy w Pythonie?
- 7. J2ME/Blackberry - jak odczytać/napisać plik tekstowy?
- 8. jak odczytać plik tekstowy w ios
- 9. odczytać plik tekstowy o zmiennej liczbie kolumn do listy
- 10. Jak odczytać plik tekstowy na GNU R z separatorem wielobajtowym?
- 11. Jak odczytać wybrany plik tekstowy z sdcard na Androidzie
- 12. Ładowanie danych CSV do Hbase
- 13. Jak odczytać plik tekstowy formatu o stałej szerokości w pandach?
- 14. Jak odczytać i nadpisać plik tekstowy w C?
- 15. Jak mogę odczytać z jednej instancji HBase, ale piszę do innej?
- 16. Python odczytał plik tekstowy z drugiej linii do piętnastej
- 17. odczytać plik tekstowy i wyszukać ciąg w Androidzie
- 18. Jak odczytać plik tekstowy w projekcie PCL Xamarin Forms?
- 19. Parse plik tekstowy z XSLT
- 20. Czytanie plik tekstowy z jQuery
- 21. Czytaj stałej szerokości plik tekstowy
- 22. R + Hadoop: Jak odczytać plik CSV z HDFS i wykonać mapreduce?
- 23. Plik tekstowy dołączania Androida:
- 24. Czytaj JSON (plik tekstowy) do aplikacji .NET
- 25. Plik tekstowy blokady PHP do edycji?
- 26. Przeczytaj plik tekstowy z zasobów C#
- 27. Jak odczytać plik tekstowy do R, gdy dane nie znajdują się w tabeli
- 28. Jak czytać plik tekstowy w systemie Android?
- 29. Odczytaj plik tekstowy z PCLStorage w Xamarin.Forms
- 30. Jak zastąpić plik tekstowy z pliku wsadowego