hive mysql windows_Java-从MySQL到Hive导入,其中MySQL在Windows上运行,而Hive在Cent OS上运行(Horton Sandbox)...
在任何答案和評論之前.我嘗試了在Stackoverflow中找到的幾個選項,但均以失敗告終.以下是這些鏈接-
我通過命令行在Horton Sandbox中進行了嘗試并成功.
sqoop import --connect jdbc:mysql://192.168.56.101:3316/database_name --username=user --password=pwd --table table_name --hive-import -m 1 -- --schema default
其中192.168.56.101適用于Windows,而192.168.56.102適用于Horton Sandbox 2.6.
現在,我想在Java中做同樣的事情,使Java代碼在其他地方運行,但不在Horton沙箱中運行.
>如何定位HIVE_HOME和其他Sqoop參數,因為它們正在沙盒中運行.
>我必須通過的參數.它應該作為SqoopOptions或Sqoop.runTools字符串數組參數傳遞.都失敗了.
>當導入庫(com.cloudera.sqoop和org.apache.sqoop)時,我也感到困惑,并得到這個
ImportTool類型的方法run(com.cloudera.sqoop.SqoopOptions)不適用于這些參數
(org.apache.sqoop.SqoopOptions)包含這兩行(在這兩行之間添加了option參數)
SqoopOptions options = new SqoopOptions();
int ret = new ImportTool().run(options);
如果我選擇Cloudera方法,則棄用,但如果我選擇apace run方法,則不接受options參數
我從幾周后就為此感到震驚.請幫忙.
解決方法:
是的,您可以通過ssh進行操作. Horton Sandbox預先安裝了ssh支持.您可以在Windows上通過ssh客戶端執行sqoop命令.或者,如果您想以編程方式(即我在Java中所做的)進行此操作,則必須執行此步驟.
>下載sshxcute Java庫:https://code.google.com/p/sshxcute/
>添加到您的Java項目的構建路徑,其中包含以下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();
}
}
標簽:sqoop,hive,hortonworks-data-platform,java,mysql
來源: https://codeday.me/bug/20191121/2052933.html
總結
以上是生活随笔為你收集整理的hive mysql windows_Java-从MySQL到Hive导入,其中MySQL在Windows上运行,而Hive在Cent OS上运行(Horton Sandbox)...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 消息称国产闪存一哥产能将翻两倍 苹果最快
- 下一篇: 【Python学习】 - 使用Anaco