怎么将ETL技术落地

ETL概述

ETL(Extraction-Transformation-Loading)是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析依据, ETL是BI(商业智能)项目重要的一个环节。

数据治理流程

 

数据挖掘一般是指从大量的数据中通过算法搜索隐藏于其中信息的过程。它通常与计算机科学有关,并通过统计、在线分析处理、情报检索、机器学习、专家系统(依靠过去的经验法则)和模式识别等诸多方法来实现上述目标。它的分析方法包括:分类、估计、预测、相关性分组或关联规则、聚类和复杂数据类型挖掘。

1)数据的采集

首先得有数据,数据的收集有两个方式,第一个方式是拿,专业点的说法叫抓取或者爬取,例如搜索引擎就是这么做的,它把网上的所有的信息都下载到它的数据中心,然后你一搜才能搜出来。

2)数据的传输

一般会通过队列方式进行,因为数据量实在是太大了,数据必须经过处理才会有用,可是系统处理不过来,只好排好队,慢慢的处理。

3)数据的存储

现在数据就是金钱,掌握了数据就相当于掌握了钱。要不然网站怎么知道你想买什么呢?就是因为它有你历史的交易的数据,这个信息可不能给别人,十分宝贵,所以需要存储下来。

4)数据的清洗和分析

上面存储的数据是原始数据,原始数据多是杂乱无章的,有很多垃圾数据在里面,因而需要清洗和过滤,得到一些高质量的数据。对于高质量的数据,就可以进行分析,从而对数据进行分类,或者发现数据之间的相互关系,得到知识。

注:第三与第四个步骤,现存后清洗和先清洗再存,在真是的业务场景中可以适当互换。

5)数据的检索和挖掘

检索就是搜索,所谓外事问google,内事问百度。挖掘,仅仅搜索出来已经不能满足人们的要求了,还需要从信息中挖掘出相互的关系。

6)数据的加载与应用

怎么友好的展示与传递给用户为数据挖掘工作做好闭环。

数据治理工具类

1)数据采集工具

1、针对日志文件类


工具


定义


Logstash


Logstash是一个开源数据收集引擎,具有实时管道功能。Logstash可以动态地将来自不同数据源的数据统一起来,并将数据标准化到所选择的目的地。


Filebeat


Filebeat 作为一个轻量级的日志传输工具可以将日志推送到中心 Logstash。


Fluentd


Fluentd 创建的初衷主要是尽可能的使用 JSON 作为日志输出,所以传输工具及其下游的传输线不需要猜测子字符串里面各个字段的类型。这样,它为几乎所有的语言都提供库,即可以将它插入到自定义的程序中。


Logagent


Logagent 是 Sematext 提供的传输工具,它用来将日志传输到 Logsene(一个基于SaaS 平台的 Elasticsearch API)。


Rsylog


绝大多数 Linux 发布版本默认的守护进程,rsyslog 读取并写入 /var/log/messages。它可以提取文件、解析、缓冲(磁盘和内存)以及将它们传输到多个目的地,包括 Elasticsearch 。可以从此处找到如何处理 Apache 以及系统日志。


Logtail


阿里云日志服务的生产者,目前在阿里集团内部机器上运行,经过3年多时间的考验,目前为阿里公有云用户提供日志收集服务。

关于详解日志采集工具Logstash、Filebeat、Fluentd、Logagent、Rsylog和Logtail在优势、劣势

2、针对爬虫类

页面下载 --> 页面解析 --> 数据存储

(1)页面下载器

对于下载器而言,python的库requests能满足大部分测试+抓取需求,进阶工程化scrapy,动态网页优先找API接口,如果有简单加密就破解,实在困难就使用splash渲染。

(2)页面解析器

①BeautifulSoup(入门级):Python爬虫入门BeautifulSoup模块

②pyquery(类似jQuery):Python爬虫:pyquery模块解析网页

③lxml:Python爬虫:使用lxml解析网页内容

④parsel:Extract text using CSS or XPath selectors

⑤scrapy的Selector (强烈推荐, 比较高级的封装,基于parsel)

⑥选择器(Selectors):python爬虫:scrapy框架xpath和css选择器语法

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

总结:

解析器直接使用scrapy的Selector 就行,简单、直接、高效。

(3)数据存储

①txt文本:Python全栈之路:文件file常用操作

②csv文件:python读取写入csv文件

③sqlite3 (python自带):Python编程:使用数据库sqlite3

④MySQL:SQL:pymysql模块读写mysql数据

⑤MongoDB:Python编程:mongodb的基本增删改查操作

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

总结:

数据存储没有什么可深究的,按照业务需求来就行,一般快速测试使用MongoDB,业务使用MySQL

(4)其他工具

①execjs :执行js

Python爬虫:execjs在python中运行javascript代码

②pyv8: 执行js

mac安装pyv8模块-JavaScript翻译成python

③html5lib

Python爬虫:scrapy利用html5lib解析不规范的html文本

2)数据清洗工具

1、DataWrangler

基于网络的服务是斯坦福大学的可视化组设计来清洗和重排数据的.文本编辑非常简单。例如,当我选择大标题为“Reported crime in Alabama”的样本数据的某行的“Alabama”,然后选择另一组数据的“Alaska”,它会建议提取每州的名字。把鼠标停留在建议上,就可以看到用红色突出显示的行。

2、Google Refine

它可以导入导出多种格式的数据,如标签或逗号分隔的文本文件、Excel、XML和JSON文件。Refine设有内置算法,可以发现一些拼写不一样但实际上应分为一组的文本。导入你的数据后,选择编辑单元格->聚类,编辑,然后选择要用的算法。数据选项,提供快速简单的数据分布概貌。这个功能可以揭示那些可能由于输入错误导致的异常——例如,工资记录不是80,000美元而竟然是800,000美元;或指出不一致的地方——例如薪酬数据记录之间的差异,有的是计时工资,有的是每周支付,有的是年薪。除了数据管家功能,Google Refine还提供了一些有用的分析工具,例如排序和筛选。

3、Logstash

Logstash 是一款强大的数据处理工具,它可以实现数据传输,格式处理,格式化输出,还有强大的插件功能,常用于日志处理。

3)数据存储工具

数据存储主要分为结构化数据的存储和非结构化数据的存储。

1、结构化数据

(1)定义

一般指存储在数据库中,具有一定逻辑结构和物理结构的数据,最为常见的是存储在关系数据库中的数据;非结构化数据:一般指结构化数据以外的数据,这些数据不存储在数据库中,而是以各种类型的文本形式存放,其中Web上的一些数据(内嵌于HTML或XML标记中)又具有一定的逻辑结构和物理结构,被称为半结构数据。

(2)存储系统

目前比较成熟的结构化存储系统有Oracle、MySQL、Hadoop等。

2、非结构化数据

(1)定义

非结构化数据是数据结构不规则或不完整,没有预定义的数据模型,不方便用数据库二维逻辑表来表现的数据。包括所有格式的办公文档、文本、图片、XML, HTML、各类报表、图像和音频/视频信息等等。

(2)存储方式

1)使用文件系统存储文件,而在数据库中存储访问路径。这种方式的优点是实现简单,不需要DBMS的高级功能,但是这种方式无法实现文件的事务性访问,不便于数据备份和恢复,不便于数据迁移等;

2)使用阿里云OSS的文件存储功能。

4)数据计算工具

数据计算分为实时计算、在线计算、离线计算。

1、数据实时计算

Apache Storm

2、数据在线计算

Elasticsearch

MySQL

3、数据离线计算

HaDoop Hive

5)数据分析工具

1、对数据矩阵科学计算:Python的numpy库

2、对数据切片等常规处理:强大的pandas库

3、对数据建模处理:sklearn库

6)数据加载工具

1、数据的可视化处理:Python中的matplotlib和seaborn库

2、常用的BI可视化工具:Tableu和帆软

3、ECharts

——————————————

阅读推荐

【大厂】基于rabbitMQ消息中心技术方案

【干货】一篇文章讲透数据挖掘

深度探讨知识图谱建模

【数据中台】数据中心建设规划

【流媒体】ffmpeg+HLS实现直播与回放

技术不能凌驾于业务,但可以引导业务

说框架设计思路

老王说架构

FaaS技术架构

从URL到看到网页的过程

原文地址:https://www.cnblogs.com/Javame/p/11599546.html

时间: 2024-10-24 04:11:49

怎么将ETL技术落地的相关文章

ETL技术入门之ETL初认识

ETL是什么 ETL是Extract Transform Load三个英文单词的缩写 中文意思就是抽取.转换.加载.说到ETL就必须提到数据仓库. 先说下背景知识: 信息是现代企业的重要资源,是企业运用科学管理.决策分析的基础.目前,大多数企业花费大量的资金和时间来构建联机事务处理OLTP的业务系统和办公自动化系统(例如电信行业的各种运营支撑系统.购物网站系统),用来记录事务处理的各种相关数据.据统计,数据量每2-3年时间就会成倍增长,这些数据蕴含着巨大的商业价值,而企业所关注的通常只占在总数据

BCCon全球区块链生态技术大会启动,聚焦区块链技术落地场景

雾散了,区块链"时代号"列车驶来了 在区块链快速发展的道路上,虽然迷雾重重,但仍然不断有探索.有创新.有累累硕果.区块链技术的应用,已经从单一的数字货币应用,延伸到经济社会的各个领域,如金融服务.供应链管理.文化娱乐.房地产.医疗保健.电子商务等场景.区块链技术的价值也逐渐得到了各大企业的认可,同时也快速引起各行各业及政府的高度聚焦. 我们希望在 2018 年,能看到更多可靠.在各个领域可落地的平台和应用,在全球范围内带来一场深度重构,给世界带来新的变化.所以,这次变革的主角--区块链

技术变革 企业互联 ——技术落地用友3.0战略

8月25-26日,由用友和MSUP共同发起的以“技术变革 企业互联”为主题的技术开放日在北京用友产业园中区成功举行.(用友技术开放日活动集锦)本次技术开放日不仅邀请到用友技术骨干对互联网技术应用进行实践分享,还邀请到磁云数字运营副总裁.58到家技术总监及京东敏捷教练等多位互联网研发技术专家走进用友,分享互联网架构实践.生态创新建设及产品设计等方面的精髓,与数百名参与者共同探讨互联网技术的变革与创新.(用友网络执行副总裁 谢志华)用友网络执行副总裁谢志华在活动致辞中表示:目前用友正处于企业互联网的

APICloud CEO 刘鑫做客喜马拉雅:揭秘AI如何通过移动技术落地

现如今人工智能已经在很多方面得到了应用落地,通过手机移动端的一些功能和应用程序,我们已经能够很直观地感受到它对我们生活的影响.比如苹果IphoneX的人脸识别功能,包括一些主流app有语音识别和语音对话的功能. 随着AI时代的移动技术革新大会开幕邻近,APICloud创始人兼CEO刘鑫做客喜马拉雅FM科技情报局,给大家揭晓在人工智能的时代对不同职业对挑战,以及人工智能与移动应用的联系又该如何发展?官V:柚子科技APICloud,可听访谈语音. 访谈内容 Q:最有可能被机器人或者人工智能取代的职业

作为一个软件开发公司如何让自己的技术落地应用产生价值呢?

十年之前,世界深陷金融危机的泥淖之中,悲观的情绪蔓延到了<泰晤士报>之上.当中本聪意味深长地将这句话撰入了第一个"区块"之中,也许并未意识到一扇通向未知世界的大门就此打开.彼时的区块链仍然只是极客的游戏,区块链所承载的全部数据量也不过是一张CD的容积.历史在波澜不惊中继续,数据量也在慢慢地爬升.这期间有过短暂的爆发,也有过漫长的沉寂,但区块链仍然停留在那个小众的圈子里,零零散散的数字货币,星星点点的交易所,窸窸窣窣的矿机,似乎构成了这个圈子的全部. 区块链因为不可伪造.不可

区块链技术落地的四大障碍

随着对区块链影响力的大肆宣传,进入该领域的创新者的信誉也在不断增强.成千上万的项目正在进行中,以确保该技术成为一个安全的去中心化系统,这将改变我们在全球共享和持有资产和信息的方式.区块链创建了一个分布式分类账,它简化了两个实体之间的直接.安全的交易,而不需要第三方.然而,有几个复杂性阻碍了这项技术的广泛应用:去中心化.可伸缩性和安全性.以太坊是许多人(包括我自己)目前持有的最流行的区块链之一. 让我们更深入地看看这三个障碍. •去中心化: 这是区块链的基础,它允许非集中化的托管生态系统.•可扩展

ETL技术工具kettle入门笔记(一) 之kettle连接oracle rac 报listener does not currently know of sid错误的解决

1 问题现象: 之前做的kettle 连接某个oracle数据库 做表抽取 脚本的表输入信息如下图: 执行时(脚本上传到linux机器 用sh命令执行的)表输入报的错误信息: 但是在机器里面用sqlplus 命令登录却可以成功: 2 解决过程: 出现问题后,一开始联系  源数据系统 厂家 看是不是他们那边数据库做了 限制. 经过他们查看,他们那边没有做限制.这边也查不到原因 后来参照别的系统 发现 134.64.197.198 是rac一个节点的浮动地址  对应的sid是 iprandb1.而i

CDC+ETL实现数据集成方案

欢迎咨询,合作! weix:wonter 名词解释: CDC又称变更数据捕获(Change Data Capture),开启cdc的源表在插入INSERT.更新UPDATE和删除DELETE活动时会插入数据到日志表中.CDC通过捕获进程将变更数据捕获到变更表中,通过cdc提供的查询函数,我们可以捕获这部分数据. ETL数据仓库技术(Extract-Transform-Load),它是将数据从源系统加载到数据仓库的过程.用来描述将数据从来源端经过萃取(extract).转置(transform).

文武双全!为什么数据分析师需要既懂业务又懂技术

作者:接地气的陈老师 ================================================================================= 在企业中,数据分析师们往往分为业务和技术两大类.两类能力和工作内容有较大区别,但经常企业在招人的时候都叫:数据分析师.这常使想进门的新人感到困惑.今天,我们就来科普一下业务与技术的那些事. 业务 or 技术 业务类分析师,往往在战略发展部,市场部,会员中心,销售部,运营部.根据服务的业务部门的不同,他们也可能叫数