热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

大数据之ETL(数据仓库技术)

什么是大数据?大数据(bigdata),指无法在一定时间范围内用常规软件工具进行捕捉、

什么是大数据?


大数据(big data),指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。

大数据的5V特点(IBM提出):

1.Volume(大量)

2.Velocity(高速)

3. Variety(多样)

4.Value(低价值密度)  

5.Veracity(真实性)

大数据需要特殊的技术,以有效地处理大量的容忍经过时间内的数据。适用于大数据的技术,包括大规模并行处理(MPP)数据库、数据挖掘、分布式文件系统、分布式数据库、云计算平台、互联网和可扩展的存储系统。

特征:

容量(Volume):数据的大小决定所考虑的数据的价值和潜在的信息; 
种类(Variety):数据类型的多样性; 
可变性(Variability):妨碍了处理和有效地管理数据的过程。 
真实性(Veracity):数据的质量 
复杂性(Complexity):数据量巨大,来源多渠道 
价值(value):合理运用大数据,以低成本创造高价值


什么是ETL


ETL是数据仓库的后台,主要包含抽取、清洗、规范化、提交四个步骤

ETL代表Extract-Transform-Load,它是将数据从源系统加载到数据仓库的过程。用来描述将数据从来源端经过萃取(extract)、转置(transform)、加载(load)至目的端的过程。ETL一词较常用在数据仓库,但其对象并不限于数据仓库
从OLTP(联机事务处理)数据库中提取数据,将其转换为与数据仓库模式匹配并加载到数据仓库数据库中。
许多数据仓库还包括非OLTP系统的数据,例如文本文件,遗留系统和电子表格。


看看它是如何工作的

例如,有零售公司有不同的部门,如销售,营销,物流等。他们每个都是独立处理客户信息,而且存储数据的方式是截然不同的。
销售部门按客户名称存储,营销部门按客户编号存储。

现在,如果他们想检查客户的历史,并想知道由于不同的营销活动,他/她购买的不同的产品?这将是非常困难的。

解决方案是使用数据仓库来使用ETL将来自不同来源的信息存储在统一的结构中。
ETL可以将不同的数据集转换为统一的结构。后来使用BI工具从这些数据中获得有意义的见解和报告。

ETL实战


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

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

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

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

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

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


会用到哪些测试工具


1.针对大数据单个组件测试工具

(1)GridMix针对Hadoop集群的测试基准,它具备评测大数据处理系统所需的各个模块,包括:产生数据,生成并提交数据,统计作业完成时间等;

(2)TeraSortzhendui针对文本数据排序;

(3)YCSB:专门用来对新一代数据库进行基准测试的工具。

(4)Filebench:文件系统性能的自动怀测试工具,通过快速模拟真实应用服务器的负载来测试文件系统的性能,同时也是一款负载自动生成工具。


 2.综合类测试工具,覆盖大数据平台多个功能组件


(1)Hibench是用来在速度方面评估不同的大数据框架的,它包括一系列的Hadoop,Spark,streaming 工作负载,包括sort,wordcount,TeraSort,Sleep,SQL,PageRank,Nutch indexing,Bayes,Kmeans,NWeight And enhanced DFSIO等,统一也为 park Streaming ,Flink,Storm and Gearpump 提供工作负载。
(2)BigDataBench 是中科院计算所提出的大数据测试工具,覆盖了结构数据,半结构数据和非结构数据,其负载模拟了搜索引擎,社交网络和电子商务等业务类型。


 3.具体应用领域端到端大数据测试工具
BigBench 是基于TPC-DS 端开发的端到端的测试工具,面向零售业务,模拟电子商务的整个流程,追忆测试MapReduce和并行DBMS


主要涉及技术如下:

大数据接入(采集/接入)

Socket、websocket、API、FTP/SFTP、filebeat、Logstash、logback、APIKafka、ActiveMQ

大数据清洗

Logstash、标准化(转换、脱敏、脱密

大数据存储

结构化数据存储、半结构化数据存储、非结构化数据存储 、MySQL、Redis、MongoDB、hbase、ElasticSearch

大数据分析(计算)

离线分析、准实时分析、实时分析、机器学习、strom、Spark

大数据展示

图化展示(散点图、折线图、柱状图、地图、饼图、雷达图、K线图、箱线图、热力图、关系图、矩形树图、平行坐标、桑基图、漏斗图、仪表盘),文字展示、Echarts、Tableau 

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

阅读推荐

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

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

深度探讨知识图谱建模

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

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

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

说框架设计思路

老王说架构

FaaS技术架构

从URL到看到网页的过程




推荐阅读
author-avatar
夕祈文_279
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有