第二章 DataX专题之Oracle入Hive开发样例(方式一 - 基于脚本开发 & 方式二 - 基于DATAX-WEB端配置)

  • Oracle源表
create table stu(id number(5),name VARCHAR(20),grade NUMBER(5),score NUMBER(5));
INSERT INTO STU VALUES(1,'李四',8,100);
INSERT INTO STU VALUES(2,'多多',9,115);
INSERT INTO STU VALUES(3,'熊安安',7,99);
INSERT INTO STU VALUES(4,'安琪',6,56);
INSERT INTO STU VALUES(5,'等等',4,88);
INSERT INTO STU VALUES(6,'小花',2,97);

开发方式1、Oracle入Hive-编写JSON脚本开发

1.1、建表
  • Hive建表
create table if not exists stu(
id int,
name string,
grade int,
score int
)
stored as textfile;
1.2、在datax的bin目录下编辑相对应的json脚本
{
    "job": {
	"setting": {
            "speed": {
		"byte": 1048576
            },
            "errorLimit": {
                "record": 0,
                "percentage": 0.02
            }
        },
        "content": [
            {
                "reader": {
                    "name": "oraclereader",
                    "parameter": {
                        "column": ["id","name","grade","score"],
                        "connection": [
                            {
                                "jdbcUrl": ["jdbc:oracle:thin:@10.6.13.226:1521:orcl"],
                                "table": ["STU"]
                            }
                        ],
                        "password": "123456",
                        "username": "SCOTT"
                    }
                },

                "writer": {
                    "name":"hdfswriter",
                    "parameter": {
                        "defaultFS":"hdfs://192.168.6.102:8020",
                        "fileType":"text",
                        "path":"/user/hive/warehouse/test_hive.db/stu",
                        "fileName":"stu",
                        "column":[
                            {"name":"id","type":"int"}
                        ],
                        "writeMode":"append",
                        "fieldDelimiter":"\u0001",
                        "compress":"gzip"
                    }
                }
            }
        ]
    }
}
//需要注意的是"fieldDelimiter":"\u0001"  如果是”\t”则hive中不能读取到数据,将会展示为空
1.3、在datax的bin目录下运行相对应的脚本
python /opt/module/datax/bin/datax.py  /opt/module/datax/bin/json_conf/student.json  
1.4、查看运行结果

在这里插入图片描述

开发方式2、Oracle入Hive基于datax-web端开发

2.1、创建项目
  • 项目名称:oracle_hive

在这里插入图片描述

2.2、创建DataX任务模板
  • 执行器:datax
  • 路由策略:轮询
  • 阻塞处理:覆盖之前调度
  • Cron:每天6点调度

在这里插入图片描述

2.3、配置数据源

(1)配置Oracle数据源

  • 数据源-添加
数据源:oracle
用户名:SCOTT
密码:123456
JDBCURL:10.6.13.25:1521/orcl

在这里插入图片描述

(2)配置Hive数据源

数据源:hive
用户名:atguigu
密码:123456
JDBCURL:192.168.6.102:10000/ods

在这里插入图片描述

2.4、任务构建

(1)配置Reader

  • 数据库源:orcle_test
  • Schema:orcl
  • 数据库表名:STU

在这里插入图片描述

(2)配置Writer

  • 数据库源:hive_test
  • 数据库表名:stu

在这里插入图片描述

(3)配置字段映射

  • 源端字段全选
  • 目标字段全选

在这里插入图片描述

(4)构建

在这里插入图片描述

(5)选择模板

在这里插入图片描述

  • 选择模板后点击下一步

(6)项目创建成功

  • 任务管理->查看项目

在这里插入图片描述

2.5、调试执行

(1)立即执行

  • 任务管理-》操作-》执行一次

在这里插入图片描述

(2)查看日志

  • 日志管理–》日志查看

在这里插入图片描述

(3)查看报错原因

  • 报错原因:配置的分隔符出错

在这里插入图片描述

(4)重新编辑任务

  • 任务管理–》操作–》编辑

在这里插入图片描述

(5)存在问题

  • 只能编辑JSON脚本,无法通过界面去编辑。

在这里插入图片描述

(6)再次运行&查看日志

在这里插入图片描述

(7)查看hive表中数据

在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

随缘清风殇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值