ETL基础及常用技术培训.ppt
- 文档编号:151594
- 上传时间:2022-10-04
- 格式:PPT
- 页数:87
- 大小:3.45MB
ETL基础及常用技术培训.ppt
《ETL基础及常用技术培训.ppt》由会员分享,可在线阅读,更多相关《ETL基础及常用技术培训.ppt(87页珍藏版)》请在冰豆网上搜索。
ETL基础及常用技术,主要内容,ETL基本概念ETL常用逻辑架构ETL实施过程ETL常用技术(shell,oracle,datastage),ETL基本概念,ETL(Extract-Transform-Load)即数据的抽取、转换与加载。
ETL是从各种原始的业务系统(异构多源)中提取数据,按照预先设计好的规则将抽取到的数据进行转换,最后将转换完的数据按计划增量或全部导人到目标数据库,成为联机分析处理、数据挖掘的基础。
ETL为BI/DW的核心和灵魂.ETL就是一个批量数据加工的过程.,ETL常用逻辑架构,数据抽取数据清洗与转换数据加载,ETL实施过程,数据抽取确定所有数据源来源于哪些源系统,核心系统,信贷,信用卡等定义数据接口对每个源文件及接口的每个字段进行详细说明数据抽取方法主动抽取还是源系统提供文件,增量还是全量,每日还是每月,ETL实施过程,1.代码标准化2.数据粒度的转换3.根据业务规则计算确定数据清洗和转换规则后细化mapping,编码实现,数据清洗与转换数据清洗1.不完整的数据2.错误的数据3.重复的数据数据转换,ETL实施过程,数据加载将数据缓冲区的数据直接加载到数据库对应的表中,如果是全量采用load方式,如果是增量则根据业务规则merge进数据库,ETL实施过程,ETL常用技术,SHELL(unix基本操作)SQLPL/SQLPROCDATASTAGE,shell基础,Linux中有好多种不同的shell,如bsh,csh,同其他语言一样,可以通过我们使用任意一种文字编辑器,比如vi等来编写我们的shell程序。
程序必须以下面的行开始(必须放在文件的第一行):
#!
/bin/sh符号#!
用来告诉系统它后面的参数是用来执行该文件的程序。
在这个程序中我们使用/bin/sh来执行程序。
当编辑好脚本时,如果要执行该脚本,还必须使其可执行。
要使脚本可执行:
chmod+x然后,可以通过输入:
./来执行脚本。
最新课件,shell基础,Vi
(一)、进入vi在系统提示字符(如$、#)下敲入vi档案名称,vi可以自动帮你载入所要编辑的文件或是开启一个新文件(如果该文件不存在或缺少文件名)。
进入vi后萤幕左方会出现波浪符号,凡是列首有该符号就代表此列目前是空的。
(二)、两种模式如上所述,vi存在两种模式:
指令模式和输入模式。
在指令模式下输入的按键将做为指令来处理:
如输入a,vi即认为是在当前位置插入字符。
而在输入模式下,vi则把输入的按键当作插入的字符来处理。
指令模式切换到输入模式只需键入相应的输入命令即可(如a,A),而要从输入模式切换到指令模式,则需在输入模式下键入ESC键,如果不晓得现在是处於什麽模式,可以多按几次ESC,系统如发出哔哔声就表示已处于指令模式下了。
最新课件,shell基础,Vi由指令模式进入输入模式的指令:
新增(append)a:
从光标所在位置後面开始新增资料,光标後的资料随新增资料向後移动。
A:
从光标所在列最後面的地方开始新增资料。
插入(insert)i:
从光标所在位置前面开始插入资料,光标後的资料随新增资料向後移动。
I:
从光标所在列的第一个非空白字元前面开始插入资料。
开始(open)o:
在光标所在列下新增一列并进入输入模式。
O:
在光标所在列上方新增一列并进入输入模式。
最新课件,shell基础,Vi(三)、基本编辑配合一般键盘上的功能键,像是方向键、Insert、Delete等等,现在你应该已经可以利用vi来编辑文件了。
当然vi还提供其他许许多多功能让文字的处理更为方便。
何谓编辑?
一般认为是文字的新增、修改以及删除,甚至包括文字区块的搬移、复制等等。
先这里介绍vi的如何做删除与修改。
删除与修改文件的命令:
x:
删除光标所在字符。
dd:
删除光标所在的列。
r:
修改光标所在字元,r後接著要修正的字符。
R:
进入取替换状态,新增文字会覆盖原先文字,直到按ESC回到指令模式下为止。
s:
删除光标所在字元,并进入输入模式。
S:
删除光标所在的列,并进入输入模式。
在指令模式下移动光标的基本指令是h,j,k,l。
最新课件,shell基础,Vi(四)、退出vi在指令模式下键入:
q,:
q!
:
wq或:
x(注意:
号),就会退出vi。
其中:
wq和:
x是存盘退出,而:
q是直接退出,如果文件已有新的变化,vi会提示你保存文件而:
q命令也会失效,这时你可以用:
w命令保存文件后再用:
q退出,或用:
wq或:
x命令退出,如果你不想保存改变后的文件,你就需要用:
q!
命令,这个命令将不保存文件而直接退出vi。
shell基础,注释#变量在shell编程中,所有的变量都由字符串组成,并且不需要对变量进行声明。
要赋值给一个变量,可以这样写:
变量名=值取出变量值可以加一个美元符号($)在变量前面shell脚本中的三类命令1)Unix命令2)管道,重定向和backtick3)流程控制,shell基础unix命令,在shell脚本中可以使用任意的unix命令,这些命令通常是用来进行文件和文字操作的。
常用命令语法及功能:
echosometext:
将文字内容打印在屏幕上ls:
文件列表wclfilewc-wfilewc-cfile:
计算文件行数计算文件中的单词数计算文件中的字符数cpsource:
文件拷贝mvoldnamenewname:
重命名文件或移动文件rmfile:
删除文件greppatternfile:
在文件内搜索字符串比如:
grepsearchstringcut-bcolnumfile:
指定欲显示的文件内容范围,并将它们输出到标准输出设备比如:
输出每行第5个到第9个字符cut-b5-9千万不要和cat命令混淆,这是两个完全不同的命令,最新课件,shell基础unix命令,ftp:
远程传输文件然后输入用户名密码,put,getcat:
输出文件内容到标准输出设备(屏幕)上:
得到文件类型readvar:
提示用户输入,并将输入赋值给变量sort:
对文件中的行进行排序uniq:
删除文本文件中出现的行列比如:
sort|uniqexpr:
进行数学运算Example:
add2and3expr2+3find:
搜索文件比如:
根据文件名搜索find.-name-printtee:
将数据输出到标准输出设备(屏幕)和文件比如:
somecommand|teeoutfilebasenamefile:
返回不包含路径的文件名比如:
basename/bin/tux将返回tux,最新课件,shell基础unix命令,dirnamefile:
返回文件所在路径比如:
dirname/bin/tux将返回/binheadfile:
打印文本文件开头几行tailfile:
打印文本文件末尾几行sed:
Sed是一个基本的查找替换程序。
可以从标准输入(比如命令管道)读入文本,并将结果输出到标准输出(屏幕)。
该命令采用正则表达式(见参考)进行搜索。
不要和shell中的通配符相混淆。
比如:
将linuxfocus替换为LinuxFocus:
cattext.file|seds/linuxfocus/LinuxFocus/newtext.fileawk:
awk用来从文本文件中提取字段。
缺省地,字段分割符是空格,可以使用-F指定其他分割符。
cat|awk-F,print$1,$3这里我们使用,作为字段分割符,同时打印第一个和第三个字段。
如果该文件内容如下:
AdamBor,34,IndiaKerryMiller,22,USA命令输出结果为:
AdamBor,IndiaKerryMiller,USAtar:
将文件或文件夹打包解包,tarcvfa.tarabctarxvfa.tar,shell基础管道、重定向和backtick命令,管道(|)将一个命令的输出作为另外一个命令的输入。
grephello|wc-l在中搜索包含有”hello”的行并计算其行数。
在这里grep命令的输出作为wc命令的输入重定向将命令的结果输出到文件,而不是标准输出(屏幕)写入文件并覆盖旧文件加到文件的尾部,保留旧文件内容。
反短斜线()使用反短斜线可以将一个命令的输出作为另外一个命令的一个命令行参数。
命令:
V_date=date+%F,最新课件,shell基础流程控制命令(if),ifThen.elifThen.Else.fi大多数情况下,可以使用测试命令来对条件进行测试。
比如可以比较字符串、判断文件是否存在及是否可读等等通常用来表示条件测试。
注意这里的空格很重要。
要确保方括号的空格。
-fsomefile:
判断是否是一个文件-x/bin/ls:
判断/bin/ls是否存在并有可执行权限-n$var:
判断$var变量是否有值$a=$b:
判断$a和$b是否相等,最新课件,shell基础流程控制命令(if),字符串比较:
string1=string2如果相等则为真string1!
=string2如果不等则为真-nstring如果不空则为真-zstring如果为空则为真算术比较:
expression1-eqexpression2如果相等则为真expression1-neexpression2如果不等则为真expression1-gtexpression2如果大于则为真expression1-geexpression2大于等于则为真expression1-ltexpression2如果小于则为真expression1-leexpression2小于等于则为真,最新课件,shell基础流程控制命令(if),文件:
-dfile如果为目录则为真-efile如果存在则为真(在这里要注意的是,由于历史原因,-e选项并不可移植,所以常用的是-f选项-ffile如果为常规文件则为真-gfile如果设置了组ID则为真-rfile如果文件可读则为真-sfile如果文件大小不为零则为真-ufile如果设置了用户ID则为真-wfile如果文件可写则为真-xfile如果文件可执行则为真,最新课件,shell基础流程控制命令,1)while.Do.Donewhile-loop将运行直到表达式测试为真。
willrunwhiletheexpressionthatwetestforistrue.关键字break用来跳出循环。
而关键字”continue”用来不执行余下的部分而直接跳到下一个循环。
2)forvarin.do.Donefor-loop表达式查看一个字符串列表(字符串用空格分隔)然后将其赋给一个变量:
3)case.in.).;Esaccase表达式可以用来匹配一个给定的字符串,最新课件,oracle基础数据库安装,Windows环境下:
网上下载安装包点击安装全选默认配置即可。
其它机器上已有server端,可只安client端。
PLSQL软件是一个优秀的oracle工具,建议安装unix环境下:
建oracle组和用户在oracle用户下安装授予其它用户执行oracle命令的权限,最新课件,oracle基础数据库的连接,Client端连接配置到oracle安装目录下搜索tnsnames.ora增加修改相应连接内容ORCL=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=cg)(PORT=1521)(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=orcl)mdb=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=128.160.96.21)(PORT=1521)(CONNECT_DATA=(SERVER=DEDICATED)(SID=mdb),最新课件,oracle基础数据库的连接,Unix环境先设置编辑器exportEDITOR=viselectpar
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ETL 基础 常用 技术培训