精华内容
下载资源
问答
  • 一款可以精准爬取网站的网络数据采集系统
    千次阅读
    2019-10-11 17:40:09

    文章来源:探码科技

    利用网络大数据面临的挑战

    互联网上有浩瀚的数据资源,要想抓取这些数据就离不开爬虫。鉴于网上免费开源的爬虫框架多如牛毛,很多人认为爬虫定是非常简单的事情。但是如果你要定期、上规模地准确抓取各种大型网站的数据却是一项艰巨的挑战。流行的爬虫框架Scrapy开发者Scrapinghub在抓取了一千亿个网页后,总结了他们在爬虫是遇到的挑战

    • 速度和数据质量:由于时间通常是限制因素,规模抓取要求你的爬虫要以很高的速度抓取网页但又不能拖累数据质量。对速度的这张要求使得爬取大规模产品数据变得极具挑战性。
    • 网站格式多变:网页本身是基于HTML这种松散的规范来建立的,各网页互相不兼容,导致网页结构复杂多变。在规模爬取的时候,你不仅要浏览成百上千个有着草率代码的网站,还将被迫应对不断变化的网站。
    • 网络访问不稳定:如果网站在一个时间访问压力过大,或者服务器出现问题,就可能不会正常响应用户查看网页的需求。对于网页数据采集工具而言,一旦出现意外情况,很有可能因为不知道如何处理而崩溃或者逻辑中断。
    • 网页内容良莠不齐:网页上显示的内容,除了有用数据外,还有各种无效信息;有效信息也通过各种显示方式呈现,网页上出现的数据格式多样。
    • 网页访问限制:网页存在访问频率限制,网站访问频率太高将会面临被封锁IP的风险。
    • 网页反扒机制:有些网站为了屏蔽某些恶意采集而采取了防采集措施。比如Amazon这种较大型的电子商务网站,会采用非常复杂的反机器人对策使得析取数据困难许多。
    • 数据分析难度高:规模化的数据采集会导致数据质量得不到保证,变脏或者不完整的数据很容易就会流入到你的数据流里面,进而破坏了数据分析的效果。

    为了充分利用网络大数据,企业需要一个有效的系统,该系统不仅可以自动化从网页中提取数据,同时对数据进行筛选、清理和标准化,并将这些数据集成到现有工具链和工作流中。
    探码网络数据采集系统是一款可以精准爬取网站的爬虫工具,采用探码科技自主研发的TMF框架为架构主体,支持开发可操作的网络数据采集系统

    探码对以上挑战的解决办法

    • 24小时自动化爬虫采集,制定清晰采集字段,保证初步采集速度和质量;
    • 兼顾计算机和人处理网页数据的特征,能够应对网页结构的复杂多变;
    • 云服务器协同合作,达到采集素的的平衡点,在不降低采集速度的同时保证不被封锁IP;
    • 内置逻辑判断方案,自定义网站访问不稳定时的智能应对机制;
    • 对采集的原始数据进行“清洗、归类、注释、关联、映射”,将分散、零乱、标准不统一的数据整合到一起,提高数据的质量,为后期数据分析奠定基础。
    • 探码的数据采集属于正常的采集行为,倡导在获得网站授权采集后进行采集,共同维护互联网规范。

    探码网络数据采集方案

    探码网络数据采集系统实现数据从采集,处理到应用的全生命周期管理,达到网络爬虫另类数据,网页解析及采集自动化。目前探码已建设自己的企业库数据(3000+企业数据信息),律师数据库(全过30w+律师数据信息)且这些信息都是通过数据处理与分析,用户可直接使用于商务中!

    数据提取

    探码通过网络爬虫、结构化数据、本地数据、物联网设备、人工录入等进行全方位实时的汇总采集。对各种来源(如RFID射频数据、传感器数据、移动互联网数据、社交网络数据等)的非结构化数据进行全自动化采集,借助网络爬虫或网站API,从网页获取非结构化数据数据,将其统一结构化为本地数据。

    数据管理

    探码网络数据采集系统合并来自多个来源的数据,构建复杂的连接和聚合。针对非结构化、半结构化数据的特殊性,在爬取完数据后还需要对采集的原始数据进行“清洗、归类、注释、关联、映射”等一系列操作后,将分散、零乱、标准不统一的数据整合到一起,提高数据的质量,为后期数据分析奠定基础。

    数据储存

    探码网络数据采集系统在获得所需的数据并将其分解为有用的组件之后,通过可扩展的方法来将所有提取和解析的数据存储在数据库或集群中,然后创建一个允许用户可及时查找相关数据集或提取的功能。

    解决方案优势

    通过采用探码网络数据采集解决方案,实现了以下几个优势:

    • 全面的数据服务 -通过探码网络数据采集系统,您可以轻松地获得网络数据。您可以实现自动化提取、更新、转换数据并确保不同的数据元素符合常见的数据格式。
    • 最新数据- 解决方案的自动化意味着您的组织可以以最少的工作量进行持续提取。因此,组织可以确保始终使用最新的数据。
    • 准确的数据- 探码网络数据采集系统使团队不仅能够消除与手动提取和转换相关的工作,而且还能消除与人工工作相关的潜在错误。
    • 降低成本-企业自身无需昂贵的工程团队不断编写代码,监控质量和维护逻辑,就能够规模快速,经济高效地获得高质量的网络数据。
    • 可扩展性- 探码网络数据采集系统支持提取数百万个数据点和Web查询。

    总结

    探码科技自主研发的网络数据采集系统是集Web数据采集,分析和可视化为一体的数据集成系统,确保您从Web数据中获得最大的洞察力和价值。

    更多相关内容
  • 如何实现上亿级数据精准计数?

    千次阅读 2021-01-28 14:29:04
    背景关系型数据库在执行计数任务时,其执行效率会随着数据量级的增长而降低;当数据量达到亿级别时,计数任务的执行效率已经低到令人不忍直视。在闲鱼团队的关系系统中,我们采用了这样一种方式来实现亿级别数据的...

    背景

    关系型数据库在执行计数任务时,其执行效率会随着数据量级的增长而降低;当数据量达到亿级别时,计数任务的执行效率已经低到令人不忍直视。在闲鱼团队的关系系统中,我们采用了这样一种方式来实现亿级别数据的毫秒级计数。

    挑战

    闲鱼现有的业务场景中,用户收藏宝贝、关注他人的数据量,已经达到亿级别。传统的关系型数据库如mysql,在执行有条件的count命令时,效率较低,在数据量较大的场景下,无法有效支撑线上业务的要求。

    3b783a341dcab969dbe61f8802f52b8c.png如上图,在亿级别数据量级的关系型数据库存储中按分表key执行count操作,光是响应时长这一个属性就已经远远无法满足线上业务的要求,更不要说频繁执行这种性能较低的查询语句对数据库性能的影响。 业内针对海量数据的计数场景,通常采用的解决方案有计数器和定时离线计算两种。两种方式各有优劣:

    2c87057f93b697f55ace06405df5b3d5.png本文提出了一种基于离线批处理+在线增量统计的设计方案,将复杂耗时的数据库计数操作,替换为多次KV存储的读取和对接操作,在线上业务场景中实现了QPS峰值时响应保持在毫秒级别(10ms以内),成功率也始终接近100%的效果,有力的支撑了业务的开展。

    方案

    本文提出的计数方案,简而言之,就是定时的将数据全量同步到离线库中进行批处理,实时在线上对增量数据保持统计,最终合并两者的结果得到精准计数值。

    0e5d3e9c1d83930e36c986101b2acdf7.png

    离线批处理

    闲鱼目前存储关系数据的方式如下(省略与本文无关字段):

    43a2ec954cc1097d7ea5282b237644ed.png

    如果想要统计某个用户的某种关系数量,如A用户收藏宝贝数量,只需要获取到source为A且status为0的数据的总条数即可。借助数据离线处理能力,我们首先想到的方案是按时间点对数据进行切割,即:某个时间点(如每天凌晨0点)之前的数据同步到离线存储进行计算,之后再与今天的增量数据进行合并从而得到最终结果,如下图:

    804c83100a6c0242fc1d9fef7ee2e449.png

    下文中将指定的切割时间点称为“预期快照读时间”。在执行上图中的离线数据同步任务时,闲鱼团队采用的阿里云ODPS离线同步任务,采用扫表的方式完成数据离线。在单表的场景下,借助于mysql的快照读机制可以准确的获取到某个时间点的快照,从而实现数据的离线、在线精准切割。

    离线批处理的困境

    在实际场景中,海量数据往往必须采用分库分表的方式进行存储。而分库分表后,为了降低对线上业务的影响,离线数据同步任务往往是分批执行,无法保证所有表执行快照读的时间一致,如下图:

    b66b21cc247e929cca1c8d1baacda5c0.png

    多个分表的快照读时间不一致的情况下,快照读的实际执行时间必然会和预期快照读时间之间存在偏差,如下图:

    5d31ed4fa6fd0685cdfe3c89a7d2bbc7.png假设在预期快照读时间和快照读实际执行时间的间隔内产生了一条数据变化(在上图中,此变化具体是在凌晨30分时,该关系的状态从0变为了1),实际执行的快照读将无法读取到预期快照读时间的快照,而是最新的数据状态。换言之,当预期快照时间≠数据实际读取时间时,在预期快照读时间到快照读实际执行时间之间产生的数据变化将会污染统计结果。然而由于数据量级过大,必须采用分库分表的存储、分批执行离线任务,于是按照时间点对数据切割的思路就行不通了。

    解决方案

    为了规避这个问题,必须舍弃固定时间点的数据切割方式,改为将同步任务开始时间作为数据快照读时间,并依据此时间对数据进行切割。使用这样的同步方式,获取到的离线统计结果将如下图所示:

    b8c30c9d51bf6a372c2cd8c6cbafd1ec.png对不同source值计算后得到计数结果的同时,还可以得到该关系的最新更改时间,且不同关系的最新修改时间各不相同。本文将离线统计得到的包含该关系在某个时刻的最新计数值(所有关系中最新一条的修改时间+修改后的合计值),记做offlineTotal。与一般离线任务产出的结果不同的是,offlineTotal中额外包含了该关系的最新一条修改时间,下文中的在线增量数据统计方案,将基于此时间来完成数据的对接与合并。

    在线实时增量统计

    结合离线数据计数的结果,在线增量数据需要包含如下信息:可以与离线计算结果匹配上的时间;

    在该时间之后这个关系计数值的变化情况。

    在闲鱼的实现中,我们采用KV存储的方式,来记录关系的变化情况。具体记录的值为:每一个source每一天的总增量dailyIncrTotal,以及每一次发生关系更新的那一时刻的增量modifiedTimeIncr,如下表:

    f67905a93892c70a6680bd00d05df3b6.png

    统计计数值时,首先使用离线计数值offlineTotal加上当天的总增量dailyIncrTotal得到一个合计值,如下图:

    01df6706dbab772e1db62c453b435b49.png可以看到,由于离线任务统计的数据并不是严格按照时间点进行切割(通常离线任务会在每天凌晨0点至1点之间执行),离线计数值和当日增量之间会存在一些数据上的重合。此时,再根据离线计数值中的最新修改时间,取到在该时刻的增量,从合计值中去掉这部分数据即可:

    9efdb6726246cf75cd4325a874c4943b.png整理这段计算逻辑,可以得到如下公式:

    db1127052b135e6b6759fb8f08025a6b.png

    注:ΣdailyIncrTotal表示从离线记录中得到的最新修改时间的日期一直到计数时的日期。

    至此,一次完整的计数请求,被替换为2+N次KV存储的查询(N为离线计算结果距当前时间的日期差,一般不会超过一天)。本方案不仅拥有和实时计数器基本相同的响应速度,同时在遇到异常情况时也可以借助于离线批处理的能力,重复运行离线任务,滚动订正数据。

    总结

    本文介绍了一种在亿数据量级场景下实现快速精准计数的方案,采用离线批处理来减少线上压力、提高计算效率,同时使用KV存储实时记录增量数据快照,实现了计数结果毫秒级响应,且可依赖离线数据订正,希望能够给读者带来一些使用不同角度来思考问题的启发。有时候一些看似非常耗时、难以优化的场景,换个角度来思考,可能会有意想不到的收获。

    展开全文
  • 数据分析师的岗位要求和工作流程

    千次阅读 多人点赞 2019-05-06 14:42:24
    数据正在变得越来越常见,而数据分析的价值也越来越凸显。那么数据分析师应该具备哪些技能?...其实企业对数据分析师的基础技能需求差别不大,可总结如下: SQL数据库的基本操作,会基本的数据管理 会用Excel...

    数据正在变得越来越常见,而数据分析的价值也越来越凸显。那么数据分析师应该具备哪些技能?

    要明确学习的路径,最有效的方式就是看具体的职业、工作岗位对于技能的具体需求。

    从各大招聘网站上找了一些最具有代表性的数据分析师职位信息,来看看数据分析师到底需要哪些技能。


    其实企业对数据分析师的基础技能需求差别不大,可总结如下:

    SQL数据库的基本操作,会基本的数据管理

    会用Excel/SQL做基本的数据分析和展示

    会用脚本语言进行数据分析,Python or R

    有获取外部数据的能力,如爬虫

    会基本的数据可视化技能,能撰写数据报告

    熟悉常用的数据挖掘算法:回归分析、决策树、随机森林、支持向量机等等


    寻找最合适的学习路径

    最高效的学习路径是什么样的?

    一定要清楚的是,你想要达到的目标是什么?如果你想利用数据分析的方法来支撑工作决策,那么你可能需要知道数据分析的流程是什么,通过数据分析的方法能获得哪些信息,这些信息可以用来支撑什么工作。

    然后你需要知道要达到这样的目的,需要哪些必备的技能,哪些是不需要学习的。其实在这个过程中你对知识的框架就有了大概的了解,并知道如何去避免无效的信息。

    更重要的是,你需要了解,完成一个数据分析项目,基本的流程是什么。这样你才知道学习的知识,在具体的工作中是如何应用,并能够在学习之后进行针对性的训练,做到有的放矢。


    数据分析的工作流程

    1. 定义问题

    在做具体的分析前,你需要确定要分析的问题是什么?你想得出哪些结论?

    比如某地区空气质量变化的趋势是什么?

    影响公司销售额增长的关键因素是什么?

    生产环节中影响产能和质量的核心指标是什么?

    如何对分析用户画像并进行精准营销?

    如何基于历史数据预测未来某个阶段用户行为?

    问题的定义需要你去了解业务的核心知识,并从中获得一些可以帮助你进行分析的经验。


    2. 数据获取

    有了具体的问题,你就需要获取相关的数据了。比如你要探究北京空气质量变化的趋势,你可能就需要收集北京最近几年的空气质量数据、天气数据,甚至工厂数据、气体排放数据、重要日程数据等等。

    如果你要分析影响公司销售的关键因素,你就需要调用公司的历史销售数据、用户画像数据、广告投放数据等。

    数据的获取方式有多种。

    一是公司的销售、用户数据。可以直接从企业数据库调取,所以你需要SQL技能去完成数据提取等的数据库管理工作。比如你可以根据你的需要提取2017年所有的销售数据、提取今年销量最大的50件商品的数据、提取上海、广东地区用户的消费数据……,SQL可以通过简单的命令帮你完成这些工作。

    第二种是获取外部的公开数据集,一些科研机构、企业、政府会开放一些数据,你需要到特定的网站去下载这些公开数据

    第三种是编写网页爬虫。比如你可以通过爬虫获取招聘网站某一职位的招聘信息,爬取租房网站上某城市的租房信息,获取知乎点赞排行等。基于互联网爬取的数据,你可以对某个行业、某种人群进行分析,这算是非常靠谱的市场调研、竞品分析的方式了。


    3. 数据预处理

    原始的数据可能会有很多问题,比如残缺的数据、重复的数据、无效的数据等等。把这些影响分析的数据处理好,才能获得更加精确地分析结果。

    比如空气质量的数据,其中有很多天的数据由于设备的原因是没有监测到的,有一些数据是记录重复的,还有一些数据是设备故障时监测无效的。

    那么我们需要用相应的方法去处理,比如残缺数据,我们是直接去掉这条数据,还是用临近的值去补全,这些都是需要考虑的问题。

    当然在这里我们还可能会有数据的分组、基本描述统计量的计算、基本统计图形的绘制、数据取值的转换、数据的正态化处理等,能够帮助我们掌握数据的分布特征,是进一步深入分析和建模的基础。


    4. 数据分析与建模

    在这个部分需要了解基本的数据分析方法、数据挖掘算法,了解不同方法适用的场景和适合的问题。分析时应切忌滥用和误用统计分析方法。滥用和误用统计分析方法主要是由于对方法能解决哪类问题、方法适用的前提、方法对数据的要求不清等原因造成的。

    比如你发现在一定条件下,销量和价格是正比关系,那么你可以据此建立一个线性回归模型,你发现价格和广告是非线性关系,你可以先建立一个逻辑回归模型来进行分析。

    当然你也可以了解一些数据挖掘的算法、特征提取的方法来优化自己的模型,获得更好的结果。


    5. 数据可视化及数据报告撰写

    分析结果最直接的是统计量的描述和统计量的展示。

    比如我们通过数据的分布发现数据分析师工资最高的5个城市,目前各种编程语言的流行度排行榜,近几年北京空气质量的变化趋势商品消费者的地区分布……这些都是我们通过简单数据分析与可视化就可以展现出的结果。

    另外一些则需要深入探究内部的关系,比如影响产品质量最关键的几个指标,你需要对不同指标与产品质量进行相关性分析之后才能得出正确结论。又比如你需要预测未来某个时间段的产品销量,则需要你对历史数据进行建模和分析,才能对未来的情况有更精准的预测。

    数据分析报告不仅是分析结果的直接呈现,还是对相关情况的一个全面的认识。所以你需要一个讲故事的逻辑,如何从一个宏观的问题,深入、细化到问题内部的方方面面,得出令人信服的结果。

     

    总结:数据分析的一般流程总的来说就是这几个步骤:问题定义、数据获取、数据预处理、数据分析与建模、数据可视化与数据报告的撰写。

    展开全文
  • 万字详解数据仓库、数据湖、数据中台和湖仓一体

    千次阅读 多人点赞 2022-02-22 09:18:01
    数字化转型浪潮卷起各种新老概念满天飞,数据湖、数据仓库、数据中台轮番在朋友圈刷屏,有人说“数据中台算个啥,数据湖才是趋势”,有人说“再见了数据湖、数据仓库,数据中台已成气候”…… 企业还没推开数字化...

    本文目录:

    一、前言
    二、概念解析

    1. 数据仓库

    2. 数据湖

    3. 数据中台

    三、具体区别

    1. 数据仓库 VS 数据湖

    2. 数据仓库 VS 数据中台

    3. 总结

    四、湖仓一体

    1. 目前数据存储方案

    2. Data Lakehouse(湖仓一体)

    一、前言

    数字化转型浪潮卷起各种新老概念满天飞,数据湖、数据仓库、数据中台轮番在朋友圈刷屏,有人说“数据中台算个啥,数据湖才是趋势”,有人说“再见了数据湖、数据仓库,数据中台已成气候”……

    企业还没推开数字化大门,先被各种概念绊了一脚。那么它们 3 者究竟有啥区别?别急,先跟大家分享两个有趣的比喻。

    50000字详解数仓建设保姆级教程,涵盖离线和实时icon-default.png?t=M1H3https://mp.weixin.qq.com/s?__biz=Mzg2MzU2MDYzOA==&mid=2247491812&idx=1&sn=cd20944f96ce51eae48e71c5273596fa&chksm=ce741635f9039f23a569f7943a0b470cc72d17aa6c8a13e76fe061778c685b1186eb620fc581#rd

    1、图书馆VS地摊

    如果把数据仓库比喻成“图书馆”,那么数据湖就是“地摊”。去图书馆借书(数据),书籍质量有保障,但你得等,等什么?等管理员先查到这本书属于哪个类目、在哪个架子上,你才能精准拿到自己想要的书;而地摊上没有人会给你把关,什么书都有,你自己翻找、随用随取,流程上比图书馆便捷多了,但大家找书的过程是没有经验可复用的,偶尔多拿少拿咱们可能也不知道。

    2、升级版银行

    假定数据仓库、数据湖、数据中台都是银行,可以提供现金、黄金等多种服务。过去大家进银行前都得先问门卫,里面每个门牌上的数字对应哪个服务呢?是现金还是黄金呢?然后推开对应的门把东西取出来。而有了“数据中台”这个银行,大家一进来就能看到标着“现金”、“黄金”汉字的窗口,一目了然,你只需要走到窗口前,就有专人帮你办理。

    以上两个例子不一定全面,但基本能解释三者的优劣势。数据仓库具备规范性,但取数用数流程长;数据湖取数用数更实时、存储量大,但数据质量难以保障;数据中台能精准快速地响应业务需求,离业务侧最近。

    为了更清晰地区别三者,接下来咱们再来看看它们各自的定义以及应用区别。

    二、概念解析

    1. 数据仓库

    数据仓库诞生于 1990 年,绝对算得上是“老前辈”了,它是一个相对具体的功能概念。目前对数据仓库的主流定义是位于多个数据库上的大容量存储库,它的作用在于存储大量的结构化数据,并能进行频繁和可重复的分析,帮助企业构建商业智能(BI)

    具体定义

    数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrated)、相对稳定的(Non-Volatile)、反映历史变化的(Time Variant)数据集合,用于支持管理决策和信息的全局共享。其主要功能是将组织透过资讯系统之联机事务处理(OLTP)经年累月所累积的大量资料,透过数据仓库理论所特有的资料储存架构,分析出有价值的资讯。

    • 所谓主题:是指用户使用数据仓库进行决策时所关心的重点方面,如:收入、客户、销售渠道等;所谓面向主题,是指数据仓库内的信息是按主题进行组织的,而不是像业务支撑系统那样是按照业务功能进行组织的。

    • 所谓集成:是指数据仓库中的信息不是从各个业务系统中简单抽取出来的,而是经过一系列加工、整理和汇总的过程,因此数据仓库中的信息是关于整个企业的一致的全局信息。

    • 所谓随时间变化:是指数据仓库内的信息并不只是反映企业当前的状态,而是记录了从过去某一时点到当前各个阶段的信息。通过这些信息,可以对企业的发展历程和未来趋势做出定量分析和预测。

    数据仓库的作用:

    数据仓库系统的作用能实现跨业务条线、跨系统的数据整合,为管理分析和业务决策提供统一的数据支持。数据仓库能够从根本上帮助你把公司的运营数据转化成为高价值的可以获取的信息(或知识),并且在恰当的时候通过恰当的方式把恰当的信息传递给恰当的人。

    • 是面向企业中、高级管理进行业务分析和绩效考核的数据整合、分析和展现的工具;

    • 是主要用于历史性、综合性和深层次数据分析

    • 数据来源是ERP(例:SAP)系统或其他业务系统;

    • 能够提供灵活、直观、简洁和易于操作的多维查询分析;

    • 不是日常交易操作系统,不能直接产生交易数据;

    实时数仓

    实时数仓和离线数仓非常的像,诞生的背景主要是近几年企业对于数据服务的实时性需求日益增多。里面的数据模型也会像中台一样分好几层:ODS 、CDM、ADS。但整体对于实时性要求极高,因此一般存储会考虑采用Kafka这种log base的MQ,而计算引擎会采用Flink这种流计算引擎。

    2. 数据湖

    数据湖是一种不断演进中、可扩展的大数据存储、处理、分析的基础设施,它就像一个大型仓库存储企业多样化原始数据以数据为导向,实现任意来源、任意速度、任意规模、任意类型数据的全量获取、全量存储、多模式处理与全生命周期管理。拥有强大的信息处理能力和处理几乎无限的并发任务或工作的能力。

    数据湖从企业的多个数据源获取原始数据,数据可能是任意类型的信息,从结构化数据到完全非结构化数据,并通过与各类外部异构数据源的交互集成,支持各类企业级应用。结合先进的数据科学与机器学习技术,能帮助企业构建更多优化后的运营模型,也能为企业提供其他能力,如预测分析、推荐模型等,这些模型能刺激企业能力的后续增长。

    进入互联网时代,有两个最重要的变化。

    一个是数据规模前所未有,一个成功的互联网产品日活可以过亿,就像你熟知的头条、抖音、快手、网易云音乐,每天产生几千亿的用户行为。传统数据仓库难于扩展,根本无法承载如此规模的海量数据。

    另一个是数据类型变得异构化,互联网时代的数据除了来自业务数据库的结构化数据,还有来自 App、Web 的前端埋点数据,或者业务服务器的后端埋点日志,这些数据一般都是半结构化,甚至无结构的。传统数据仓库对数据模型有严格的要求,在数据导入到数据仓库前,数据模型就必须事先定义好,数据必须按照模型设计存储。

    所以,数据规模和数据类型的限制,导致传统数据仓库无法支撑互联网时代的商业智能。

    05年的时候,Hadoop诞生了。Hadoop 相比传统数据仓库主要有两个优势:

    • 完全分布式,易于扩展,可以使用价格低廉的机器堆出一个计算、存储能力很强的集群,满足海量数据的处理要求;

    • 弱化数据格式,数据被集成到 Hadoop 之后,可以不保留任何数据格式,数据模型与数据存储分离,数据(包含了原始数据)在被使用的时候,可以按照不同的模型读取,满足异构数据灵活分析的需求。而数仓更加关注可以作为事实依据的数据。

    随着Hadoop与对象存储的成熟,数据湖的概念在10年被提出:数据湖(Data Lake)是一个以原始格式存储数据的存储库或系统(这意味着数据湖的底层不应该与任何存储耦合)。

    对应的来说,如果数据湖没有被治理好(缺乏元数据、定义数据源、制定数据访问策略和安全策略,并移动数据、编制数据目录),则会变成数据沼泽

    而从产品形态上来说,数仓往往是独立标准化的产品。而数据湖更像是一种架构指导——需要配合一系列的周边工具,来实现业务需要的数据湖。

    3. 数据中台

    大规模数据的应用,也逐渐暴露出现一些问题。

    业务发展前期,为了快速实现业务的需求,烟囱式的开发导致企业不同业务线,甚至相同业务线的不同应用之间,数据都是割裂的。两个数据应用的相同指标,展示的结果不一致,导致运营对数据的信任度下降。如果你是运营,当你想看一下商品的销售额,发现两个报表上,都叫销售额的指标出现了两个值,你的感受如何? 你第一反应肯定是数据算错了,你不敢继续使用这个数据了。

    数据割裂的另外一个问题,就是大量的重复计算、开发,导致的研发效率的浪费,计算、存储资源的浪费,大数据的应用成本越来越高。

    • 如果你是运营,当你想要一个数据的时候,开发告诉你至少需要一周,你肯定想是不是太慢了,能不能再快一点儿?

    • 如果你是数据开发,当面对大量的需求的时候,你肯定是在抱怨,需求太多,人太少,活干不完。

    • 如果你是一个企业的老板,当你看到每个月的账单成指数级增长的时候,你肯定觉得这也太贵了,能不能再省一点,要不吃不消了。

    这些问题的根源在于,数据无法共享。2016 年,阿里巴巴率先提出了“数据中台”的口号。数据中台的核心,是避免数据的重复计算,通过数据服务化,提高数据的共享能力,赋能数据应用。之前,数据是要啥没啥,中间数据难于共享,无法积累。现在建设数据中台之后,要啥有啥,数据应用的研发速度不再受限于数据开发的速度,一夜之间,我们就可以根据场景,孵化出很多数据应用,这些应用让数据产生价值。

    数据中台样板

    在建设中台的过程中,一般强调这样几个重点:

    • 效率、质量和成本是决定数据能否支撑好业务的关键,构建数据中台的目标就是要实现高效率、高质量、低成本。

    • 数据只加工一次是建设数据中台的核心,本质上是要实现公共计算逻辑的下沉和复用。

    • 如果你的企业拥有 3 个以上的数据应用场景,数据产品还在不断研发和更新,你必须要认真考虑建设数据中台。

    那么接下来就看一下阿里巴巴对于数据中台的实践。

    正如上述提到的数据只加工一次是建设数据中台的核心,本质上是要实现公共计算逻辑的下沉和复用。阿里数据中台提到了各种one思想,如:

    • OneData:公共数据只保存一份

    • OneService:通过一个服务接口进行暴露

    三、具体区别

    1. 数据仓库 VS 数据湖

    相较而言,数据湖是较新的技术,拥有不断演变的架构。数据湖存储任何形式(包括结构化和非结构化)和任何格式(包括文本、音频、视频和图像)的原始数据。根据定义,数据湖不会接受数据治理,但专家们一致认为良好的数据管理对预防数据湖转变为数据沼泽不可或缺。数据湖在数据读取期间创建模式。与数据仓库相比,数据湖缺乏结构性,而且更灵活,并且提供了更高的敏捷性。值得一提的是,数据湖非常适合使用机器学习和深度学习来执行各种任务,比如数据挖掘和数据分析,以及提取非结构化数据等。

    2. 数据仓库 VS 数据中台

    数据仓库和传统的数据平台,其出发点为一个支撑性的技术系统,即一定要先考虑我具有什么数据,然后我才能干什么,因此特别强调数据质量和元数据管理;而数据中台的第一出发点不是数据而是业务,一开始不用看你系统里面有什么数据,而是去解决你的业务问题需要什么样的数据服务。

    在具体的技术处理环节,二者也有明显不同,数据的预处理流程正在从传统的ETL结构向ELT结构转变。传统的数据仓库集成处理架构是ETL结构,这是构建数据仓库的重要一环,即用户从数据源抽取出所需的数据,经过数据清洗,将数据加载到数据仓库中去。而大数据背景下的架构体系是ELT结构,其根据上层的应用需求,随时从数据中台中抽取想要的原始数据进行建模分析。

    3. 总结

    根据以上数据仓库、数据湖和数据中台的概念论述和对比,我们进行如下总结:

    • 数据中台、数据仓库和数据湖没有直接的关系;

    • 数据中台、数据仓库和数据湖在某个维度上为业务产生价值的形式有不同的侧重;

    • 数据中台是企业级的逻辑概念,体现企业数据向业务价值转化的能力,为业务提供服务的主要方式是数据 API;

    • 数据仓库是一个相对具体的功能概念,是存储和管理一个或多个主题数据的集合,为业务提供服务的方式主要是分析报表;

    • 数据中台距离业务更近,能够更快速的响应业务和应用开发需求,从而为业务提供速度更快的服务;

    • 数据仓库是为了支持管理决策分析,而数据中台则是将数据服务化之后提供给业务系统,不仅限于分析型场景,也适用于交易型场景;

    • 数据中台可以建立在数据仓库和数据平台之上,是加速企业从数据到业务价值的过程的中间层。

    四、湖仓一体

    有人说“湖仓一体成为下一站灯塔,数仓、数据湖架构即将退出群聊”。

    2020年,大数据DataBricks公司首次提出了湖仓一体(Data Lakehouse)概念,希望将数据湖和数据仓库技术合而为一,此概念一出各路云厂商纷纷跟进。

    Data Lakehouse(湖仓一体)是新出现的一种数据架构,它同时吸收了数据仓库和数据湖的优势,数据分析师和数据科学家可以在同一个数据存储中对数据进行操作,同时它也能为公司进行数据治理带来更多的便利性。

    1. 目前数据存储的方案

    一直以来,我们都在使用两种数据存储方式来架构数据:

    • 数据仓库:主要存储的是以关系型数据库组织起来的结构化数据。数据通过转换、整合以及清理,并导入到目标表中。在数仓中,数据存储的结构与其定义的schema是强匹配的。

    • 数据湖:存储任何类型的数据,包括像图片、文档这样的非结构化数据。数据湖通常更大,其存储成本也更为廉价。存储其中的数据不需要满足特定的schema,数据湖也不会尝试去将特定的schema施行其上。相反的是,数据的拥有者通常会在读取数据的时候解析schema(schema-on-read),当处理相应的数据时,将转换施加其上。

    现在许多的公司往往同时会搭建数仓、数据湖这两种存储架构,一个大的数仓和多个小的数据湖。这样,数据在这两种存储中就会有一定的冗余。

    2. Data Lakehouse(湖仓一体)

    Data Lakehouse的出现试图去融合数仓和数据湖这两者之间的差异,通过将数仓构建在数据湖上,使得存储变得更为廉价和弹性,同时lakehouse能够有效地提升数据质量,减小数据冗余。在lakehouse的构建中,ETL起了非常重要的作用,它能够将未经规整的数据湖层数据转换成数仓层结构化的数据。

    下面详细解释下:

    湖仓一体(Data Lakehouse)

    依据DataBricks公司对Lakehouse 的定义:一种结合了数据湖和数据仓库优势的新范式,解决了数据湖的局限性。Lakehouse 使用新的系统设计:直接在用于数据湖的低成本存储上实现与数据仓库中类似的数据结构和数据管理功能。

    解释拓展

    湖仓一体,简单理解就是把面向企业的数据仓库技术与数据湖存储技术相结合,为企业提供一个统一的、可共享的数据底座。

    避免传统的数据湖、数据仓库之间的数据移动,将原始数据、加工清洗数据、模型化数据,共同存储于一体化的“湖仓”中,既能面向业务实现高并发、精准化、高性能的历史数据、实时数据的查询服务,又能承载分析报表、批处理、数据挖掘等分析型业务。

    湖仓一体方案的出现,帮助企业构建起全新的、融合的数据平台。通过对机器学习和AI算法的支持,实现数据湖+数据仓库的闭环,提升业务的效率。数据湖和数据仓库的能力充分结合,形成互补,同时对接上层多样化的计算生态。

    Lakehouse有如下关键特性

    • 事物支持:Lakehouse 在企业级应用中,许多数据管道通常会同时读取和写入数据。通常多方同时使用 SQL 读取或写入数据,Lakehouse 保证支持ACID事务的一致性。

    • 模式实施和治理:Lakehouse 应该有一种支持模式实施和演变的方法,支持 DW 模式规范,例如 star /snowflake-schemas。该系统应该能够推理数据完整性,并且应该具有健壮的治理和审核机制。

    • BI支持:Lakehouse 可以直接在源数据上使用BI工具。这样可以减少陈旧度和等待时间,提高新近度,并且降低必须在数据湖和仓库中操作两个数据副本的成本。

    • 存储与计算分离:事实上,这意味着存储和计算使用单独的群集,因此这些系统能够扩展到更多并发用户和更大数据量。一些现代数据仓库也具有这种属性。

    • 兼容性:Lakehouse 使用的存储格式是开放式和标准化的,例如 Parquet,并且它提供了多种 API,包括机器学习和 Python/R 库,因此各种工具和引擎都可以直接有效地访问数据。

    • 支持从非结构化数据到结构化数据的多种数据类型:Lakehouse 可用于存储,优化,分析和访问许多新数据应用程序所需的数据类型,包括图像,视频,音频,半结构化数据和文本。

    • 支持各种工作场景:包括数据科学,机器学习和 SQL 分析。这些可能依赖于多种工具来支持的工作场景,它们都依赖于相同的数据存储库。

    • 端到端流式任务:实时报告是许多企业的日常需要。对流处理的支持消除了对专门服务于实时数据应用程序的单独系统的需求。

    上面这张图是DataBricks给出的架构演化参考图。

    我们可以看到,传统的数仓目标非常明确,适用于将各业务数据源合并后,进行商务BI分析和报表。随着企业需要处理的数据类型越来越多,包括客户行为,IoT,图片,视频等, 数据规模也成指数增加。

    数据湖技术被引入,并用于承担通用数据存储和处理平台的作用,数据湖由于其分布式存储和计算能力的特点,也可以更好的支持机器学习计算, 在数据湖时代,我们通常可以看到DataLake和Data Warehouse还是会同时存在的。

    随着大数据时代的到来,是不是有可能让大数据技术可以取代传统数仓,形成一个统一的数据处理架构,湖仓一体的概念被提出,并由DataBricks和云厂商们在进行快速的推演和实践。

    ​参考

    2022年最强大数据面试宝典

    数仓建设保姆级教程

    美团数据平台及数仓建设实践,超十万字总结

    展开全文
  • 数据赋能,助力新零售数字化突围

    千次阅读 2022-04-02 10:24:03
    距“新零售”的概念在2016年的云栖大会上被提出,已有6年。...纵观零售迈向“新零售”的进阶史,信息、数据在其中扮演了重要的角色。 —01— “新零售”的进阶之路 1.零售进阶1.0:信息化探...
  • 面向规模养殖模式的精准养殖技术体系所要求数据完备、数据精准、数据协同和数字化评估方面。 总结而论,精准饲喂体系包含以下几个方面的工作:饲养理论基础、硬件设备、软件平台、系统平台、数...
  • 数据分析之数据预处理、分析建模、可视化

    万次阅读 多人点赞 2020-08-08 15:03:21
    数据预处理:数据清洗、数据集成、数据规约、数据变换; 数据分析模型:对比分析、漏斗分析、留存分析、A/B测试、用户行为路径分析、用户分群、用户画像分析等; 数据分析方法:描述统计、假设检验、信度分析、相关...
  • 层出不穷的新技术、新概念、新应用往往会初学者造成很大的困扰,有时候很难理清楚它们之间的区别与联系。本文将以数据研发相关领域为例,对比分析我们工作中高频出现的几个名词,主要包括以下几个方面: 目录 ...
  •  天池精准医疗大赛——人工智能辅助糖尿病遗传风险预测,这是明天即将开始的天池大数据比赛。赛题名字看起来很高深,其实是根据年龄,性别,肝功,血常规等体验指标,预测血糖值。数据挺少的,特征40个左右,训练集...
  • 虽然很多企业都有自己的标签库,或者说是DMP吧,但毕竟不是每个产品经理都有机会让平台承载的标签数量超过一百万,原因很简单,要么没需求,要么没数据,要么没必要。 我记得当初打造1000+标签库的时候,也是觉得太...
  • 还在担心没工作岗位么,爬取271W条数据,开发了一个大数据分析平台,为你做精准分析
  • 读透《华为数据之道》

    千次阅读 2020-12-28 07:30:00
    这是傅一平的第361篇原创【提醒:公众号推送规则变了,如果您想及时收到推送,麻烦右下角点个在看,或者把本号置顶】正文开始很多年前阿里出了《大数据之路》一书,在数据技术层面给出了有价值的指...
  • 数据运营-数据管理平台

    千次阅读 2020-11-23 15:53:47
    一、ID maping 二、用户标签管理 三、数据规范 四、运营分析 五、人群操作 六、数据脱敏 七、营销应用系统对接
  • 数据管理与数据质量保障

    千次阅读 2021-11-29 11:35:51
    数据分为业务元数据、技术元数据和操作元数据及管理元数据,业务元数据知道技术元数据,技术元数据以业务元数据为参考进行设计,操作元数据为两者的管理提供支撑。元数据数据的对应关系如下表所示: 元数据...
  • 数据治理到数据中台

    千次阅读 多人点赞 2020-07-15 19:19:44
    在我的职业生涯中,做过的数据相关的项目不少,从最早期的数据大集中,到后来的主数据管理(MDM)、数据治理及由此延伸出的数据中台建设项目,涉及的细分领域也越来越多,大数据浪潮下企业数据应用的深度及广度的...
  • 数据库, 数据仓库, 数据集市,数据湖,数据中台

    万次阅读 多人点赞 2019-02-22 16:21:47
    数据仓库和数据集市的区别 作者:修鹏李 出处:CSDN 大数据:数据仓库和数据库的区别 作者:南宫蓉 出处:简书 第一篇:数据仓库概述 第二篇:数据库关系建模 作者:穆晨 出处:CNBLOS 摘要 本文简要介绍...
  • 本文将详细讲解数据预处理、Jieba分词和文本聚类知识,这篇文章可以说是文本挖掘和自然语言处理的入门文章。两万字基础文章,希望您有所帮助。欢迎大家来到“Python从零到壹”,在这里我将分享约200篇Python系列...
  • 十二、数据预处理概述

    千次阅读 2020-03-06 14:42:59
    **数据预处理(data preprocessing)**是指在主要的处理以前对数据进行的一些处理,以保证数据质量能满足数据挖掘的任务。 数据质量:为什么要对数据预处理? 数据预处理的形式 数据处理的主要任务 2 数据质量:为...
  • 这三个特点衍生出了物流企业四大问题,分别是数据匮乏,过程管控无力;利润口径不一,经营决策分歧;成本分摊不明确,客户质量模糊;管理目标不清晰,工作难聚焦。 这四大问题导致了企业难管理、难壮大,成为企业...
  • 01东数西算对数据中心产生的影响 ​1、 东数西算,就像西电东送一样,是全国一体布局。2、 东数西算新型数据中心提出供需优化、绿色集约、互联互通目标。3、 中创作为全球领先的分布式数据存储技术服务商,基于自...
  • Python数据分析基础: 数据缺失值处理

    千次阅读 多人点赞 2020-10-31 21:56:01
    公众号:Python数据科学 圣人曾说过:数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。 再好的模型,如果没有好的数据和特征质量,那训练出来的效果也不会有所提高。数据质量对于数据分析...
  • 详解数据治理九大核心领域

    千次阅读 2021-07-27 00:30:49
    01 前言股份制改革银行业来说只是一个开始,企业在风险管理、创造价值等方面还有很长的路要走。风险管理要求提供精准数据模型、创造价值要求充分银行数据资产,这是数据治理的外部推动因素。此外...
  • 金融数据安全分类分级解决方案

    千次阅读 2022-04-02 18:17:58
    数据安全法》的第二十一条“国家建立数据分类分级保护制度,根据数据在经济社会发展中的重要程度,以及一旦遭到篡改、破坏、泄露或者非法获取、非法利用,国家安全、公共利益或者个人、组织合法权益造成的危害...
  • 数据挖掘与建模流程

    千次阅读 2022-03-04 18:24:07
    今天给大家分享一下关于数据挖掘建模的流程,这是小编在书里看到的,分享给大家,这样以后做事有头有尾,有据可循,包括定义目标、数据采集及取样、数据探索、数据预处理、建立数学模型、模型评价。
  • 使用matlab光谱数据取平均

    千次阅读 多人点赞 2019-12-10 17:18:49
    在处理光谱数据时由于外界因素造成测量光谱的稳定性,为了获得更精准和较好的数据我们需要光谱数据取平均,本脚本就可实现光谱数据每隔K列取一次平均。 (不需要修改代码,运行以后只需要按照弹出的界面输入值...
  • 数据运营平台-数据采集

    千次阅读 2020-11-20 18:29:38
    行为数据采集 业务数据采集与转换 第三方系统API对接 用户数据关联 人工数据采集 数据输出 行为数据采集 1.埋点采集 ①跨平台打通 确定性方法识别 利用用户帐号体系中,可以是系统生成的 UserID,可以是...
  • 【时间序列】时间序列数据的缺失填补方法总结

    万次阅读 多人点赞 2021-05-21 00:16:01
    在前几次分享中我们知道,很多时序算法都依赖完整的时序数据进行建模,许多业务也需要数据保持完整性,以更好地进行可视化与分析。然而在真实场景中,由于采集能力或网络传输的原因,时序数据常常会有缺...
  • 数据清洗,特征转换,特征选择,降维,异常数据处理及自然语言处理详细介绍。
  • 数据科学研究的现状与趋势全解

    千次阅读 2019-11-27 17:29:10
    大数据时代的到来催生了一门新的学科——数据科学。首先,本文探讨了数据科学的内涵、发展...接着,探讨了数据科学研究中的10个争议及挑战:思维模式的转变(知识范式还是数据范式)、对数据的认识(主动属性还是...
  • 万网数据精准获客,利用运营商大数据技术采集用户搜索刚性强需求数据,实现信息流智能分发,依靠AI和数据区分“用户偏好”和“用户目的”,百度和用户 交汇点正是运营商大数据与用户的交汇点,通过用户行为可以精准...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 70,665
精华内容 28,266
关键字:

对数据精准的要求