Mysql
 sql >> Database >  >> RDS >> Mysql

Java - Importazione da MySQL a Hive in cui MySQL in esecuzione su Windows e Hive in esecuzione su Cent OS (Horton Sandbox)

Sì, puoi farlo tramite ssh. Horton Sandbox viene fornito con il supporto ssh preinstallato. Puoi eseguire il comando sqoop tramite client ssh su Windows. Oppure, se vuoi farlo in modo programmatico (questo è quello che ho fatto in java) devi seguire questo passaggio.

  1. Scarica la libreria java sshxcute:https://code.google.com/p/sshxcute/
  2. Aggiungi al percorso di compilazione del tuo progetto java che contiene il seguente codice java
import net.neoremind.sshxcute.core.SSHExec;
import net.neoremind.sshxcute.core.ConnBean;
import net.neoremind.sshxcute.task.CustomTask;
import net.neoremind.sshxcute.task.impl.ExecCommand;

public class TestSSH {

public static void main(String args[]) throws Exception{

    // Initialize a ConnBean object, parameter list is ip, username, password

    ConnBean cb = new ConnBean("192.168.56.102", "root","hadoop");

    // Put the ConnBean instance as parameter for SSHExec static method getInstance(ConnBean) to retrieve a singleton SSHExec instance
    SSHExec ssh = SSHExec.getInstance(cb);          
    // Connect to server
    ssh.connect();
    CustomTask sampleTask1 = new ExecCommand("echo $SSH_CLIENT"); // Print Your Client IP By which you connected to ssh server on Horton Sandbox
    System.out.println(ssh.exec(sampleTask1));
    CustomTask sampleTask2 = new ExecCommand("sqoop import --connect jdbc:mysql://192.168.56.101:3316/mysql_db_name --username=mysql_user --password=mysql_pwd --table mysql_table_name --hive-import -m 1 -- --schema default");
    ssh.exec(sampleTask2);
    ssh.disconnect();   
}
}