使用Oracle内建功能构建ETL流程(二)

日期: 2008-06-16 作者:Stenny 来源:TechTarget中国

  数据抽取— ORACLE_LOADER


    平文件的数据源一般有两种格式:定长格式或者分隔符格式,ORACLE_LOADER对这两种格式都提供支持。如果是分隔符格式的源文件,使用关键字FIELDS TERMINATED BY指定分隔符;如果是定长格式文件,使用关键字POSITION指定数据2列的位置。


    –数据源文件product1.dat


    1,Bicycle,JiangSu


    2,Camps,ZheJiang


    3,Wearings,SiChuan


    4,Gloves,SiChuan


    5,Food,YunNan


    6,Shoes,NULL


    使用EXTERNAL ORGANIZATIONAL关键字构建外部表,注意DRIVER关键字指定了ORACLE_LOADER驱动;DEFAULT DIRECTORY子句指定了默认的操作目录;在ACCESS PARAMETERS子句中定义了分隔符、坏文件、LOG文件;LOCATION关键字指定了外部表依存的数据文件,如果存在多个文件,使用逗号分隔。  






SQL> ed Wrote file afiedt.buf  1 create TABLE stenny_ext_product 2 (product_id NUMBER(4), 3 product_name VARchar2(20), 4 location VARchar2(25) 5 ) 6 ORGANIZATION EXTERNAL 7 ( 8 TYPE ORACLE_LOADER 9 DEFAULT DIRECTORY source_dir 10 ACCESS PARAMETERS 11 ( 12 records delimited by newline 13 badfile log_dir:’bad_product.dat’ 14 logfile log_dir:’product.log’ 15 fields terminated by ’,’ 16 missing field values are null 17 ( product_id, product_name, location )18 )19 LOCATION (’product1.dat’)20 )21* REJECT LIMIT UNLIMITED SQL> /  Table created.  SQL> select * from stennY_ext_product;  PRODUCT_ID PRODUCT_NAME LOCATION———- ——————– ————————- 1 Bicycle JiangSu2 Camps ZheJiang3 Wearings SiChuan4 Gloves SiChuan5 Food YunNan6 Shoes NULL
6 rows selected.


    经过上面的步骤,我们将数据库之外的一个平文件通过访问驱动程序ORACLE_LOADER与一个数据库表STENNY_EXT_PRODUCT建立了映射关系。我们对这个外部表可以进行排序,表连接等只读操作。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

作者

Stenny
Stenny

相关推荐