由于数据量比较大,经常需要利用大数据架构去处理不同数据库之间数据存储问题,大数据架构下存储数据库工作中目前主要用hive,Sqoop是一个比较优秀的数据转储工具,这里主要记录Sqoop与各种数据库之间导入导出的语句,以便查询。
在导入数据之前,需要先建立表结构,建立表结构最简单的方式是利用create table A like B的方式复制另一张表结构,如果没有只能按照标准格式写出建表语句了。
Mysql
Oracle
Oracle导入命令:sqoop import --connect jdbc:oracle:thin:@192.168.0.99:1521:orclc_db --username apps2 --password apps123 --split-by CID --query 'select * from DRGAPPS2.DATA_TOTAL_ZXY where $CONDITIONS' --hive-import --target-dir temp_table --hive-table aden_datahouse.datahouse --null-string '\\N' --null-non-string '\\N' --fields-terminated-by '\001' --hive-drop-import-delims -m 4 --hive-overwrite --delete-target-dir
参数解释:
192.168.0.99 为oracle所在IP地址
- orclc_db 为使用的数据库库名
- apps2 为oracle 登录时用的账户名
- apps123 为oracle 登录账户密码
- split by 可缺省
- query 后为待导入数据表
- –hive-table 后为准备导入的表名
- –null-string ‘\N’ 如果为空,替补默认值为
- fields-terminated-by 分割符
- m 并发程序个数
主要修改参数为 IP地址、oracle数据库名、oracle账户名、oracle账户密码、query后查询语句、准备导入的表名几项参数,其余参数按照此语句复制过去一般就可以了。
-