Data warehouse是一个不大的部门,当时里面有一个vp一个manager两个assistant manager,其他就是senior developerbasic developer,当时还有将近20个人,属于花旗内部的员工大概就是4个人,其他都是外派,来自文思海辉、华钦、奥杰斯这几家。

工作流程上,部门接收其他部门的数据,主要依靠的是大机的推送,自动化运行,当天处理前一天的数据,推送好了之后会有时间戳,在Linux/Unix等服务器上进行查找,通过datastage进行ETL的设计,Tivoli进行作业的调度。

数据要经过几个平台才能正式发布,包括DEV环境、SIT环境和UAT环境。然后还有ORP,说实话这个平台当时还问过他们,后来又忘了这个名字的含义的,也是一个数据处理的过程吧。

  东哥教我们多一些,有在邮件中别人给我们提出一个需求,他会告诉我们需要跑什么job,我们就对照着邮件中给出的job_name,country_name,schema_name等等出现的参数到oracle中的8张表里查询出对应的结果,然后对这8张表里的列进行更新或者从这表的查询结果中找到需要的参数,在数据库中修改好之后再到Linux或者aix或者unix上去找到对应国家或者对应目录下去修改对应的参数,或者是对比数据库中的参数是否和服务器上的参数是一致的,对比修改无误之后,就再服务器上执行脚本,那个会对数据库进行更改或者调用到datastage进行运行。

  有时候还需要根据需求在服务器上部署对应的文件,因为每个人的负责的模块不一样,每个人的权限也不一样,所以就需要这边配置好对应的文件,别人才能够运行好job或者别的需求,我们就在有需求的时候到对应服务器上配置文件,将模板文件进行修改后部署到不同的国家目录下去,再对脚本文件作相应修改后运行,也会根据不同的需求在不同的环境下运行,比如dev/sit/uat等环境

  我学姐还会让我修改完善datastagejob设计,比如datastage上已经画好了流程,但是里面的组件并没有设置过参数,我就需要根据她给我的需求文档来对每个组件进行设计,但是她让我做的还是比较简单的,就是做一些函数的设计之类的,让我熟悉一下datastage的组件。

  manager一开始是让我们做了一些oracle的练习题目,具体题目我忘记了,但是印象中是不难的,还是很容易做出来,然后他还让我们做一些简单的练习,但是就要用到shell命令来修改或者配置好不同国家的参数,如果手工做的话也可以做,但是他就想让我们试试能不能用脚本来实现,我就回去试了一晚,还是把脚本给写出来了,这个脚本不复杂,也不长,写的时候学到或者用到了grep/sed/awk、循环控制、正则表达式、管道等等之类的写法。然后他还教了我们用excel的函数比如vlookup之类的来对比数据之类的。

  我换了一次座位之后,我的邻座是一个比较senior的人,然后也比较爱说话,我就问了他关于花旗EDW的流程、各个模块的分类、数据仓库的架构之类的东西,他讲解的还是挺让我觉得醍醐灌顶的,因为之前确实也没接触过真正的项目,对这些理念还是不懂,他给我讲讲觉得好很多,然后我的毕设论文也是他来教我的,流程啊、架构啊、论文的框架啊什么的,反正他对我的帮助还是蛮大的。

  然后其实我们ETL部门老大还是挺不爱搭理我们的,虽然也让我们做东西,但是其实我觉得就是一些挺简单的事情,比如conference call之类的,也比如他有时候会发给我一些excel表,让我对这些表进行修改,到服务器或者数据库上找文件,找到对应的东西后再把这些复制到excel表中去,再把excel的表的格式改改好看,弄好之后再发给他就行了,对技术上的锻炼我觉得还是挺少的。