sql >> Base de Datos >  >> RDS >> Mysql

Java:Importación de MySQL a Hive donde MySQL se ejecuta en Windows y Hive se ejecuta en Cent OS (Horton Sandbox)

Sí, puedes hacerlo a través de ssh. Horton Sandbox viene con soporte ssh preinstalado. Puede ejecutar el comando sqoop a través del cliente ssh en Windows. O si quieres hacerlo programáticamente (eso es lo que he hecho en Java) tienes que seguir este paso.

  1. Descargue la biblioteca java de sshxcute:https://code.google.com/p/sshxcute/
  2. Agregue a la ruta de compilación de su proyecto java que contiene el siguiente código 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();   
}
}