Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Java - Importieren von MySQL in Hive, wobei MySQL unter Windows und Hive unter Cent OS ausgeführt wird (Horton Sandbox)

Ja, das geht per ssh. Horton Sandbox wird mit vorinstallierter SSH-Unterstützung geliefert. Sie können den sqoop-Befehl über den SSH-Client unter Windows ausführen. Oder wenn Sie es programmatisch machen wollen (das habe ich in Java gemacht), müssen Sie diesem Schritt folgen.

  1. Sshxcute-Java-Bibliothek herunterladen:https://code.google.com/p/sshxcute/
  2. Fügen Sie dem Erstellungspfad Ihres Java-Projekts hinzu, das den folgenden Java-Code enthält
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();   
}
}