oracleSink.md

May 21, 2020 · View on GitHub

1.格式:

CREATE TABLE tableName(
    colName colType,
    ...
    colNameX colType
 )WITH(
    type ='oracle',
    url ='jdbcUrl',
    userName ='userName',
    password ='pwd',
    tableName ='tableName',
    parallelism ='parllNum'
 );

2.支持版本

10g 11g

3.表结构定义

参数名称含义
tableNameoracle表名称
colName列名称
colType列类型 colType支持的类型

4.参数:

参数名称含义是否必填默认值
type表名 输出表类型[mysq|hbase|elasticsearch|oracle]
url连接oracle数据库 jdbcUrl
userNameoracle连接用户名
passwordoracle连接密码
tableNameoracle表名称
schemaoracle 的schema当前登录用户
parallelism并行度设置1
batchSizeflush的大小100
batchWaitIntervalflush的时间间隔,单位ms1000
allReplacetrue:新值替换旧值false
updateModeAPPEND:不回撤数据,只下发增量数据,UPSERT:先删除回撤数据,然后更新结果表设置主键则为UPSERT

5.样例:

CREATE TABLE MyTable(
    name varchar,
    channel varchar,
    id int
 )WITH(
    type ='kafka10',
    bootstrapServers ='172.16.8.107:9092',
    zookeeperQuorum ='172.16.8.107:2181/kafka',
    offsetReset ='latest',
    topic ='mqTest01',
    timezone='Asia/Shanghai',
    updateMode ='append',
    enableKeyPartitions ='false',
    topicIsPattern ='false',
    parallelism ='1'
 );

 CREATE TABLE MyResult(
    primarykey_id int ,
    name VARCHAR,
    address VARCHAR
 )WITH(
    type ='oracle',
    url ='jdbc:oracle:thin:@172.16.8.178',
    userName ='system',
    password ='oracle',
    tableName ='YELUO_TEST_ORACLE_01',
    updateMode ='append',
    parallelism ='1',
    batchSize ='100',
    batchWaitInterval ='1000'
 );

insert          
into
    MyResult
    select
        id as primarykey_id,
        channel as address,
        name                                         
    from
        MyTable a       

6.数据示例

输入数据

{"name":"roc","id":11,"channel":"daishuyun"}

结果数据

+---------+------+------+-----------+
| primarykey_id | name   | address  |
+---------+------+------+----------+
|   11   | roc   |  daishuyun  |