Mysql
 sql >> Base de données >  >> RDS >> Mysql

Java - Importation de MySQL vers Hive où MySQL s'exécute sur Windows et Hive s'exécute sur Cent OS (Horton Sandbox)

Oui, vous pouvez le faire via ssh. Horton Sandbox est livré avec le support ssh préinstallé. Vous pouvez exécuter la commande sqoop via le client ssh sous Windows. Ou si vous voulez le faire par programme (c'est ce que j'ai fait en Java), vous devez suivre cette étape.

  1. Télécharger la bibliothèque Java sshxcute :https://code.google.com/p/sshxcute/
  2. Ajouter au chemin de génération de votre projet Java qui contient le code Java suivant
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();   
}
}