2012-12-17 27 views
9

Jestem bardzo nowy w hadoop i hbase i mam pewne konceptualne pytania, które potykają mnie podczas każdego tutoriala, który znalazłem.Ładowanie danych CSV do Hbase

Mam hadoop i hbase działa na jednym węźle w VM Ubuntu na moim systemie Win 7. Mam plik csv, który chciałbym załadować do pojedynczej tabeli hbase.

Kolumny są: loan_number, borrower_name, current_distribution_date, loan_amount

wiem, że muszę napisać pracę MapReduce załadować ten wspomnianego pliku csv do HBase. Poniższy samouczek opisuje Javę potrzebną do napisania tego zadania MapReduce. http://salsahpc.indiana.edu/ScienceCloud/hbase_hands_on_1.htm

Co mi brakuje:

Gdzie mogę zapisać te pliki i gdzie mogę je skompilować? Czy powinienem skompilować to na mojej maszynie z wygraną 7 z programem visual studio 12, a następnie przenieść ją do ubuntu vm?

czytam to tak pytanie, ale myślę, że wciąż brakuje podstawy: Loading CSV File into Hbase table using MapReduce

nie mogę znaleźć nic pokrycie tych podstawowych logistyki Hadoop/HBase. Każda pomoc będzie bardzo ceniona.

Odpowiedz

15

Nie ma potrzeby, aby zakodować pracy MapReduce do masowych danych obciążenia do HBase. Istnieje kilka sposobów na masowych danych obciążenia do HBase:

1) Za pomocą narzędzia HBase jak importtsv i completebulkloadhttp://hbase.apache.org/book/arch.bulk.load.html

2) Użyj Pig do masowych danych obciążenia. Przykład:

A = LOAD '/hbasetest.txt' USING PigStorage(',') as 
     (strdata:chararray, intdata:long); 
STORE A INTO 'hbase://mydata' 
     USING org.apache.pig.backend.hadoop.hbase.HBaseStorage(
       'mycf:intdata'); 

3) Zrób to programowo za pomocą interfejsu API HBase. Dostałem mały projekt o nazwie hbaseloader, który ładuje pliki do tabeli HBase (tabela ma tylko jedną ColumnFamily z zawartością pliku). Przyjrzyj się temu, wystarczy zdefiniować strukturę tabeli i zmodyfikować kod, aby odczytać plik csv i przeanalizować go.

4) Zrób to programowo za pomocą zadania MapReduce, tak jak w podanym przykładzie.

+0

Dzięki! Zdecydowanie zamierzam zbadać te opcje. – bjoern

2
Where do I save these files and where do I compile them? Should I compile this on my win 7 machine running visual studio 12 and then move it to the ubuntu vm? 

Możesz zapisać mapę Pomniejsz klasy w dowolnym miejscu (w Win 7 lub Ubuntu VM). Możesz go skompilować w dowolnym miejscu. Po prostu utwórz plik Jar z utworzonymi klasami i słoiczkiem, aby zmniejszyć mapę w maszynie wirtualnej.

Następnie w maszynie wirtualnej Ubuntu po uruchomieniu programu Hadoop możesz użyć poniższego polecenia, aby uruchomić utworzoną przez siebie klasę redukcji mapy.

<Path To Hadoop Bin>/hadoop jar <Path to Jar>/<Jar Name>.jar <Map Reduce Class Name> <Class Arguments> ... 

Po uruchomieniu powyższego polecenia The Map Reduce klasę zapisany zostanie wykonana wraz z tabelą HBase zostaną wypełnione.

Nadzieja to pomaga

Powiązane problemy