ETL对文件数据进行处理,进入到数据仓库
对一些数据,我们不能直接从数据库抽取到数据仓库,而是以另一种形式存在,如bat文件、txt文本等,那么对于这些文件数据该如何处理。
方法:(1)利用Oracle的SQL plus工具,对数据进行写入到原始的数据表(即再数据从仓库中建的表,用于存储文件的原始数据),然后再对原始的数据进行更新(U)、插入(I)、删除(D)操作即可
注:原始的数据文件中的字段必须要有数据记录的操作类型,即U、I、D标识
例子:
前提:
(1)建立源数据表以INC开头命名,用以存储原始的数据
(2)建立数据仓库的表以ODS命名,用以存储处理过后的数据
过程:
(1)将数据文件通过Oracle的sqlldr导到数据中的INC表中
(2)INC中的数据是没经过处理的,要经过转换成数据格式符合的格式,就需要通过转换,如日期、字符串的转换
(3)将INC的数据经过处理加载到目标的表ODS中
SQL plus导数据进入数据库的方法:
1、编写CTL文件
格式如下:
OPTIONS(errors=5000000,bindsize=33554432,readsize=33554432)----当数据文件过大,用于改变缓存,否则会报错
LOAD DATA
CHARACTERSET UTF8 -----字符的格式
INFILE "D:\INC\data\etl\test.dat" -----数据文件的位置
TRUNCATE INTO table_name ----目标表
Fields terminated by "" -----数据文件字符的分隔符
trailing nullcols
(
id char(4000),
name char(4000)
)
注:若需要将字段拼到一起,给一个新的字段,可以在CTL文件中直接写
如: ID_name char(4000) “:id||:name”
这里的冒号可以理解为变量的赋值,|| 依然是Oracle的拼接字符
2、利用Oracle的sqlldr命令将数据文件导入到INC表中
sqlldr userid=用户名/用户密码 control=D:\test\test.ctl log=D:\test\test.log bad=D:\test\test.bad
3、将INC表中的数据导进ODS中
可以用存储过程,也可以用kettle等ETL工具。
ETL对文件数据进行处理,进入到数据仓库相关推荐
- 「数据ETL」从数据民工到数据白领蜕变之旅(五)-使用dotNET脚本实现SSIS无限扩展...
在前面一文中,正式引出了SSIS专业数据ETL工具,笔者仅能作引路作用,未能使用文章的方式给大家写出更多的入门级的文章,希望读者们可以自行根据分享的学习资源自行完成入门及进阶的学习. 同时也想给大家分 ...
- 使用PowerShell读取文件数据
We have some custom files that we receive from different providers and for these situations we are u ...
- Flink 使用Table Api 读取文件数据并写出到文件中
前言 在上一篇我们演示了如何使用Flink 的Table Api 读取文件数据,并过滤特定字段的数据,本篇在上一篇的基础上,将从CSV文件中读取的数据重新输出到一个新的CSV文件中: 在实际业务场景下 ...
- Hive项目之谷粒影音:ETL清洗原数据、Hive统计视频观看数top10、视频类别top、视频观看数top其所属类别、类别流量top、类别热度top、上传视频用户数量top、类别视频观看top
Hive实战之谷粒影音 项目数据下载地址: guiliVideo.zip谷粒影音项目视频表.用户表 包含内容: 两个文件夹 User表中的74702条数据 video表中5张表,每张表中都有多条数据 ...
- TensorFlow csv读取文件数据(代码实现)
TensorFlow csv读取文件数据(代码实现) 大多数人了解 Pandas 及其在处理大数据文件方面的实用性.TensorFlow 提供了读取这种文件的方法. 前面章节中,介绍了如何在 Tens ...
- C++ 简单读写文本文件、统计文件的行数、读取文件数据到数组
转自:http://hi.baidu.com/ctralt/blog/item/cde79fec87f841302697911c.html fstream提供了三个类,用来实现c++对文件的操作.(文 ...
- Oracle 物理结构(六) 文件-数据文件
Oracle 物理结构(六) 文件-数据文件 转载于:https://www.cnblogs.com/xibuhaohao/p/10917338.html
- pandas使用read_csv读取文件数据、设置converters参数将百分比字符串转换为数字
pandas使用read_csv读取文件数据.设置converters参数将百分比字符串转换为数字 目录 pandas使用read_csv读取文件数据.设置converters参数将百分比字符串转换为 ...
- python计算csv文件内的数据_Python利用pandas计算多个CSV文件数据值的实例
功能:扫描当前目录下所有CSV文件并对其中文件进行统计,输出统计值到CSV文件 pip install pandas import pandas as pd import glob,os,sys in ...
最新文章
- Javascript 中变更Html标签label的文本
- 查询每日规定时间段内的记录
- python数据采集框架_20190715《Python网络数据采集》第 1 章
- Yii中的CComponent应用实例
- 博士申请 | 香港浸会大学万人杰教授招收计算机视觉全奖博士生/研究助理
- 项目学生:带有Jersey的Web服务客户端
- java post 图片上传_java 发送 post 请求上传图片
- 作者:陈卫, 男, 微软亚洲研究院高级研究员, 清华大学客座教授。
- li ul vue 滚动显示_vue ul循环滚动的问题
- 【机器学习实战】垃圾分类快速理解机器学习中的朴素贝叶斯(Naive Bayes)
- Android 属性动画实现一个简单的PopupWindow
- mysql 建模工具 mac_MySQL Workbench for Mac 6.0 下载 - Mac上优秀的数据库建模工具 | 玩转苹果...
- ASP.NET超市便利店在线购物商城源码,针对周边配送系统
- 逻辑回归算法梳理(从理论到示例)
- 笔记本电脑只能外放,插上耳机还是外放
- Udacity数据分析(入门)-探索美国共享单车数据
- 线性代数学习笔记4-1:线性方程组的数学和几何意义、零空间/解空间/核
- C语言深度剖析笔记2
- 指令集与微架构 扫盲
- 没有观众没有新片:美国电影院的悲情寒冬
热门文章
- java实现不确定进度条_JavaFX在执行过程时不确定进度条
- 京东商城在掩盖什么?(1)
- 微信小程序总结(阶段第一次总结)
- win10任务栏怎么还原到下面_全面win10系统任务栏怎么设置成透明呢?
- 插件check_mysql_health安装和错误解决(监控Mysql状态使用)
- html5基础(网页基本标签、图像标签、超链接、列表、表格、媒体元素、iframe框架、表单)
- CAD如何安装才是最简单的详细教程方法呈现出来了
- 技术晨读_2014_9_1
- 使用语义分割架构的文档扫描仪 DeepLabV3
- 名帖196 米芾 行书《诉衷情》