Używam Sqoop wersji 1.4.2 i bazy danych Oracle.Jak znaleźć optymalną liczbę maperów podczas importowania i eksportowania Sqoop?
Po uruchomieniu polecenia Sqoop. Na przykład takich jak to:
./sqoop import \
--fs <name node> \
--jt <job tracker> \
--connect <JDBC string> \
--username <user> --password <password> \
--table <table> --split-by <cool column> \
--target-dir <where> \
--verbose --m 2
Możemy określić --m - ile równolegle zadania chcemy Sqoop uruchomić (również one mogą być dostępu do bazy danych w tym samym czasie). Ta sama opcja jest dostępna dla ./sqoop eksportu < ...>
Czy istnieje jakiś heurystyczny (prawdopodobnie na podstawie rozmiaru danych), co przyczyni się domyślić co jest optymalna liczba zadań w użyciu?
Dziękujemy!
Nie, zależy to od liczby procesorów/rdzeni serwera bazy danych, ilości dostępu do dysku dla każdego zadania, szybkości tych dysków, ilości wykonywanych zadań w pamięci RAM, ilości pamięci RAM, ilość dodatkowych tymczasowych przestrzeni tabel, które są zajmowane przez to, czego nie można przechowywać w pamięci RAM, system plików, którego używasz, ilość pamięci RAM przypisanej do systemu operacyjnego w przeciwieństwie do bazy danych, potencjalnie wielkość przełączników i kabli sieciowych oraz liczbę dodatkowych procesów uruchamianych w bazie danych i/lub serwerze oraz wpływ wszystkich powyższych czynników na to, itp. Przetestuj to. – Ben
@Ben - Podałbym to jako odpowiedź –