供做文体累计

Posted 煎pang煎pie

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了供做文体累计相关的知识,希望对你有一定的参考价值。

  1. mysql 到hive:

tinyint通过sqoop到hive变成string类型的时候,会隐式转换 变成布尔类型

需要加强转,cast(is_official as char(3))

  1. hive中 join连接不能用大于小于号,盘古hive版本较高,所以可以用,跑任务的时候不能用

  1. hive中trunc函数不能用季函数: trunc(shijian,‘q’),需要利用shell 给参数

盘古hive版本较高,所以可以用,跑任务的时候不能用

4、前端测的不是数据,是数据格式,

只用把数据发他们就好

,数据对不对根本不重要,只要符合他们使用的格式就行。

5、造数:造数不好,本身的数不测造的全是符合他们场景的数据,

出问题全是推给造数的问题,

尤其是排行榜数据,造一条,关联部分的其他所有数据排行都受影响,出问题都说是造数的问题。

可以反问,前端测试为什么连数据都不会造,自己要什么场景的数据肯定是自己造

造数和脚本逻辑没有关系!

-- 数据同步

1 全量数据同步

1.1 不带参数的实现方式

每次更新目标表的时候,先把目标表中的数据清空,然后用源表的数据插入目标表中 。

1.2 通过参数 ,会计期(一个会计期 = 1个月 ,格式为 年-月 )更新目标表的部分数据 ,对会计期内的数据 进行全量的更新

每次更新,只更新目标表最近一个会计期的数据 ,

更新之前先根据 参数 删除 会计期 内的数据,然后查询源表会计期的数据插入到目标表中。

2 增量数据同步

有一个目标表 EMP_BAK 字段名称跟 EMP表一样 .

为了方便检查,需要在目标表中 添加 审计字段 DATA_DATE ,LAST_UPDATE_DATE

ALTER TABLE EMP_BAK ADD DATA_DATE DATE ;

--------------------------- 全量数据同步 ----------------------

/*需求 :通过存储过程 全量更新 EMP_BAK */

CREATE OR REPLACE PROCEDURE SP_EMP_BAK

IS

BEGIN

-- 先清空目标表的数据 ,为了支持 重跑

DELETE FROM EMP_BAK WHERE 1 = 1 ;

-- 然后 将源表 EMP 的数据 插入到 目标表 EMP_BAK 中

INSERT INTO EMP_BAK

(EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO, DATA_DATE)

SELECT EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO, SYSDATE

FROM EMP;

COMMIT;

END SP_EMP_BAK;

------- 调用存储过程

BEGIN

SP_EMP_BAK;

END ;

SELECT * FROM EMP_BAK;

---------------- 比如 我想一次更新 某一年的数据

CREATE OR REPLACE PROCEDURE SP_EMP_BAK_Y( P_YEAR VARCHAR2)

IS

BEGIN

-- 先清空目标表的数据 ,为了支持 重跑

DELETE FROM EMP_BAK WHERE TO_CHAR(HIREDATE,'YYYY') = P_YEAR ;

-- 然后 将源表 EMP 的数据 插入到 目标表 EMP_BAK 中

INSERT INTO EMP_BAK

(EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO, DATA_DATE)

SELECT EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO, SYSDATE

FROM EMP

WHERE TO_CHAR(HIREDATE, 'YYYY') = P_YEAR;

COMMIT;

END SP_EMP_BAK_Y;

------- 调用存储过程

BEGIN

SP_EMP_BAK_Y('1987');

END ;

SELECT * FROM EMP_BAK ;

-------------------------------------

全量同步 适合数据量不大的小表的更新 。

一般针对 百万行数据以内的小表 我们采用全量方式 ,超过百万以上的表 我们都用 增量的方式更新 。

因为这种方式 准确率非常高。

但是对于大表而言 直接删除表的数据 风险太大 。

于是有了 切片全量 更新方式 ,可以大大提高全量的更新效率,并且可以避免对整张表的操作 。

以上是关于供做文体累计的主要内容,如果未能解决你的问题,请参考以下文章

面试反问环节应该问什么?

关于返回 void 的文体问题

[机缘参悟-74]:沟通技巧-无论在职场还是在家,尽量少用反问句

Writing Genres 英文文章文体

数据结构31hashmap=》resize 扩容,不测不知道,一测吓一跳

style是什么意思