Sto usando Sqoop versione 1.4.2 e database Oracle.Come trovare il numero ottimale di mapper durante l'importazione e l'esportazione di Sqoop?
Quando si esegue il comando Sqoop. Ad esempio come questo:
./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
Possiamo specificare --M - quanti compiti parallelo vogliamo Sqoop a correre (anche essi possono accedere ai database allo stesso tempo). Stesso opzione è disponibile per l'esportazione ./sqoop < ...>
C'è qualche euristica (probabilmente in base alle dimensioni dei dati) che contribuirà a indovinare che cosa è il numero ottimale di compito da usare?
Grazie!
No, dipende dal numero di CPU/core del server del database, dalla quantità di accesso al disco richiesta da ciascuna attività, dalla velocità di tali dischi, dalla quantità di ciascuna attività eseguita nella RAM, dall'importo di RAM, la quantità di spazio extra temporaneo occupato da ciò che non è possibile archiviare nella RAM, il filesystem in uso, la quantità di RAM assegnata al sistema operativo rispetto al database, potenzialmente la dimensione degli switch e dei cavi di rete e il numero di processi aggiuntivi in esecuzione sul database e/o sul server e su come tutti i suddetti fattori li riguardano, ecc. Provalo. – Ben
@ Ben - Lo invierò come risposta –