第二章 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、查看运行结果

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

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

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

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

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

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

2.3、配置数据源

(1)配置Oracle数据源

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

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

(2)配置Hive数据源

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

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

2.4、任务构建

(1)配置Reader

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

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

(2)配置Writer

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

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

(3)配置字段映射

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

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

(4)构建

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

(5)选择模板

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

  • 选择模板后点击下一步

(6)项目创建成功

  • 任务管理->查看项目

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

2.5、调试执行

(1)立即执行

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

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

(2)查看日志

  • 日志管理–》日志查看

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

(3)查看报错原因

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

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

(4)重新编辑任务

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

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

(5)存在问题

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

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

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

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

(7)查看hive表中数据

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

你可能感兴趣的:(大数据采集工具,hive,oracle,前端)