资讯专栏INFORMATION COLUMN

Ogg For Bigdata 同步数据多一列

IT那活儿 / 1044人阅读
Ogg For Bigdata 同步数据多一列

点击上方“IT那活儿”公众号,关注后了解更多内容,不管IT什么活儿,干就完了!!!

最近业务反馈kafka解析出的sql语句多一列,对比表字段后发现果然多一列,并且多的这一列在倒数第三行且是0。该数据源是ogg for bigdata。在复制进程的report 文件中发现了端倪。

源端表结构是没有这一列的。由于是往kafka同步,附加日志添加的是全字段。在向公司老哥说明情况后,发现与跨年见表期间一个现象很类似。根据当时的mos发现了问题所在。

下面的例子证明了这一点:
--创建这个表,但是先不创建 DEAL_TYPE 列。
SQL> CREATE TABLE "TEST"
( "MIDPLATORDERID" VARCHAR2(64) NOT NULL ENABLE,
"OPPOORDERID" VARCHAR2(64) NOT NULL ENABLE,
"SERVICETYPE" VARCHAR2(2) NOT NULL ENABLE,
"PHONEID" VARCHAR2(20) NOT NULL ENABLE,
"REGION" VARCHAR2(3) NOT NULL ENABLE,
"PRODUCTID" VARCHAR2(32) NOT NULL ENABLE,
"PRODUCTNAME" VARCHAR2(128) NOT NULL ENABLE,
"PRODUCTNAMEANDFEE" VARCHAR2(128) NOT NULL ENABLE,
"FEECOURSE" VARCHAR2(128),
"ORIGINFEE" VARCHAR2(9) NOT NULL ENABLE,
"PREFEE" VARCHAR2(9) NOT NULL ENABLE,
"TOTALFEE" VARCHAR2(9) NOT NULL ENABLE,
"COSTUNIT" VARCHAR2(2) NOT NULL ENABLE,
"ORDERTIME" DATE NOT NULL ENABLE,
"REQUESTTIME" DATE NOT NULL ENABLE,
"PROORDERID" VARCHAR2(32) NOT NULL ENABLE,
"REALFEE" VARCHAR2(9) NOT NULL ENABLE,
"DEDUCTTIME" DATE NOT NULL ENABLE,
"STATUS" VARCHAR2(2) NOT NULL ENABLE
) ;
--可以看到有19个列被创建出来了:
SQL> select column_name,data_type,DATA_LENGTH from user_tab_cols where table_name = TEST;

COLUMN_NAME DATA_TYPE DATA_LENGTH
------------------------- -------------------- -----------
MIDPLATORDERID VARCHAR2 64
OPPOORDERID VARCHAR2 64
SERVICETYPE VARCHAR2 2
PHONEID VARCHAR2 20
REGION VARCHAR2 3
PRODUCTID VARCHAR2 32
PRODUCTNAME VARCHAR2 128
PRODUCTNAMEANDFEE VARCHAR2 128
FEECOURSE VARCHAR2 128
ORIGINFEE VARCHAR2 9
PREFEE VARCHAR2 9
TOTALFEE VARCHAR2 9
COSTUNIT VARCHAR2 2
ORDERTIME DATE 7
REQUESTTIME DATE 7
PROORDERID VARCHAR2 32
REALFEE VARCHAR2 9
DEDUCTTIME DATE 7
STATUS VARCHAR2 2

19 rows selected.
--添加一个带 default value 的 列 DEAL_TYPE:
SQL> ALTER TABLE TEST ADD (DEAL_TYPE VARCHAR2(1) DEFAULT 0);

Table altered.
--这之后可以看到 user_tab_cols / dba_tab_cols 显示了 21 个列,并且包括一个 SYS_NC000XX$ 的列:
SQL> select column_name,data_type,DATA_LENGTH from user_tab_cols where table_name = TEST;

COLUMN_NAME DATA_TYPE DATA_LENGTH
------------------------- -------------------- -----------
MIDPLATORDERID VARCHAR2 64
OPPOORDERID VARCHAR2 64
SERVICETYPE VARCHAR2 2
PHONEID VARCHAR2 20
REGION VARCHAR2 3
PRODUCTID VARCHAR2 32
PRODUCTNAME VARCHAR2 128
PRODUCTNAMEANDFEE VARCHAR2 128
FEECOURSE VARCHAR2 128
ORIGINFEE VARCHAR2 9
PREFEE VARCHAR2 9
TOTALFEE VARCHAR2 9
COSTUNIT VARCHAR2 2
ORDERTIME DATE 7
REQUESTTIME DATE 7
PROORDERID VARCHAR2 32
REALFEE VARCHAR2 9
DEDUCTTIME DATE 7
STATUS VARCHAR2 2
SYS_NC00020$ RAW 126 <===============
DEAL_TYPE VARCHAR2 1

21 rows selected.
知道了问题所在后,解决方法很简单,只要在源端抓取数据的时候,指定具体的列名称。
如:
TABLE test.test ,cols(col1,col3);



本文作者:吕金臣(上海新炬王翦团队)

本文来源:“IT那活儿”公众号

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/129188.html

相关文章

  • OGG Integrated Native DDL简单测试

    OGG Integrated Native DDL简单测试 img{ display:block; margin:0 auto !important; width:100%; } body{ width:75%;...

    IT那活儿 评论0 收藏1085
  • Hive的安装及配置

    摘要:本文将逐一介绍连接这三种数据库数据库的安装和配置。配置环境变量在文件中添加如下内容,执行使其生效。 title: Hive的安装及配置summary: 关键词:Hive ubuntu 安装和配置 Derby MySQL PostgreSQL 数据库连接date: 2019-5-19 13:25urlname: 2019051903author: foochaneimg: /media...

    v1 评论0 收藏0
  • Hadoop分布式集群的搭建

    摘要:分布式集群的搭建关键词分布式集群环境搭建网络配置环境大数据大数据本文作者本文链接安装说明用到的软件软件版本下载地址节点安排名称主节点子节点子节点创建用户所有的节点均创建一个名为的用户,并添加管理员权限。后续的软件均可使用此方式配置。 title: Hadoop分布式集群的搭建summary: 关键词: Hadoop ubuntu 分布式集群 环境搭建 ssh 网络配置 java环境 ...

    leon 评论0 收藏0

发表评论

0条评论

IT那活儿

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<