问题:公司对接的第三方公司的数据是存在sqlserver上,需要通过vpn的方式获取数据并存储到hive上。解决步骤如下:
1.通过VPN连接远程服务器,通过数据库账户密码连接远程数据库;
配置vpn参考:
https://jingyan.baidu.com/article/3052f5a1c99c0497f31f86ad.html
2.远程数据库为SQLserver,通过ODBC驱动将数据导入到本地Mysql中;具体细节参考:
http://blog.csdn.net/xiawu1990/article/details/51812983
3.将本地mysql数据库中数据备份到19服务器数据库上;
方法一:通过右键目标数据库,选择数据传输选项,配置相关数据库连接和选择好表即可;
方法二:通过转储sql文件的形式,先导出sql文件,再在目标数据库运行sql文件,该方法比较繁琐,适合小数据量备份。
4.通过sqoop工具将19服务器上mysql数据表导入到hive上;参考命令如下:
sqoop import -m 1 --connect jdbc:mysql://ip:3306/database--username username --password password --table tablename --hive-import--hive-database hivedatabase --hive-overwrite --create-hive-table --hive-table hivetablename--delete-target-dir