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.json1.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/ods2.4、任务构建
(1)配置Reader
数据库源:orcle_testSchema:orcl数据库表名:STU
(2)配置Writer
数据库源:hive_test数据库表名:stu
(3)配置字段映射
源端字段全选目标字段全选
(4)构建
(5)选择模板
选择模板后点击下一步
(6)项目创建成功
任务管理->查看项目
2.5、调试执行(1)立即执行
任务管理-》操作-》执行一次
(2)查看日志
日志管理–》日志查看
(3)查看报错原因
报错原因:配置的分隔符出错
(4)重新编辑任务
任务管理–》操作–》编辑
(5)存在问题
只能编辑JSON脚本,无法通过界面去编辑。
(6)再次运行&查看日志
(7)查看hive表中数据



