利用Sqoop将多种关系型数据库表导入Hive(不断更新)

来源:互联网 发布:yy淘宝兼职可信吗 编辑:程序博客网 时间:2024/05/21 19:21

由于数据量比较大,经常需要利用大数据架构去处理不同数据库之间数据存储问题,大数据架构下存储数据库工作中目前主要用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后查询语句、准备导入的表名几项参数,其余参数按照此语句复制过去一般就可以了。
-

原创粉丝点击