数据分析实战 45 讲
陈旸
清华大学计算机博士
85359 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 49 讲
第二模块:数据分析算法篇 (20讲)
第四模块:数据分析工作篇 (2讲)
数据分析实战 45 讲
15
15
1.0x
00:00/00:00
登录|注册

12 | 数据集成:这些大号一共20亿粉丝?

我们采集的数据经常会有冗余重复的情况。举个简单的例子,假设你是一个网络综艺节目的制片人,一共有 12 期节目,你一共打算邀请 30 位明星作为节目的嘉宾。你知道这些明星影响力都很大,具体在微博上的粉丝数都有标记。于是你想统计下,这些明星一共能直接影响到微博上的多少粉丝,能产生多大的影响力。
然后你突然发现,这些明星的粉丝数总和超过了 20 亿。那么他们一共会影响到中国 20 亿人口么?显然不是的,我们都知道中国人口一共是 14 亿,这 30 位明星的影响力总和不会覆盖中国所有人口。
那么如何统计这 30 位明星真实的影响力总和呢?这里就需要用到数据集成的概念了。
数据集成就是将多个数据源合并存放在一个数据存储中(如数据仓库),从而方便后续的数据挖掘工作。
据统计,大数据项目中 80% 的工作都和数据集成有关,这里的数据集成有更广泛的意义,包括了数据清洗、数据抽取、数据集成和数据变换等操作。这是因为数据挖掘前,我们需要的数据往往分布在不同的数据源中,需要考虑字段表达是否一样,以及属性是否冗余。

数据集成的两种架构:ELT 和 ETL

数据集成是数据工程师要做的工作之一。一般来说,数据工程师的工作包括了数据的 ETL 和数据挖掘算法的实现。算法实现可以理解,就是通过数据挖掘算法,从数据仓库中找到“金子“。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《数据分析实战 45 讲》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(49)

  • 最新
  • 精选
  • Monica
    置顶
    在“数据分析实战交流群”,老师分享了额外干货资料:“Kettle的操作视频”,有入群需求的,可加我的微信:imonica1010,和老师及同学们交流数据分析的学习心得。 由于申请人数太多,进群免费但设置了一道小门槛,欢迎加我,了解入群规则。
    3
    22
  • 云深不知处
    大约三年大数据工程师工作,从最开始的数据集成(sqoop、代码、商用软件ETL工具等),将数据汇聚到数据仓库,理解业务,清洗应用需要的数据。数据集成是将多源(多系统)、多样(结构化、非结构化、半结构化)、多维度数据整合进数据仓库,形成数据海洋,更好的提供业务分析系统的数据服务,通过数仓的数据集成,达到数据共享的效果,降低对原始业务系统的影响,同时加快数据分析工作者的数据准备周期。数据集成最开始就是原始系统的数据,照样搬到数据仓库,这种类型工作长期实施,容易疲劳失去兴趣,理解业务需求,通过自己的数据集成、清洗、数据分析,提供有意思的数据,就是挖金子过程,应该也是一件有趣的事情。

    作者回复: 很好的分享,很多人都在做数据集成的工作,时间长了难免失去兴趣,相反数据分析会更有价值,能从数据中提炼金子

    27
  • JingZ
    #2019/1/9 Kettle数据集成 1、安装jdk:官网http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html,下载mac版的JDK,下载后,直接安装。终端验证java-version~ 2、安装Kettle:https://sourceforge.net/projects/pentaho/files/Data%20Integration/ 下载最新pdi-ce-8.2.0.0-342.zip压缩包,直接生成data integration文件夹 3、下载数据库驱动:https://dev.mysql.com/downloads/connector/j/ mysql-connector-java-5.1.41.tar.gz解压,但是出现了query-cache-size问题,重新下载最新mysql-connector-java-8.0.13.tar.gz,又出现找不到jar文件。重启也不行~最后两个文件都放在了data integration/lib里面,貌似就可以了,这块还需再探索 4、打开终端,启动Kettle:sh spoon.sh打开Spoon,开始文本输入和表输出了 5、安装MySQL,同时安装了MySQL WorkBench建立数据库wucai和表score,目前出现表输出Unexpected batch update error committing the database connection和org.pentaho.di.core.exception.KettleDatabaseBatchException问题,可能是对SQL设置问题,还需debug 接触新工具,还需多实践

    作者回复: 加油~ 不错的整理

    14
  • 奔跑的徐胖子
    希望有如我一般的使用Mac的屌丝注意,安装完了Kettle之后,要去mysql官网下载驱动,这个驱动不能用最新版本的,要用老版本的才能连接数据库,我用的是5.1.46

    作者回复: 感谢分享

    2
    13
  • veical
    加载就是把转换后的数据从中间层(stage层,通常是一个数据库或数据库集群)导入数据分析层,然后才能在模型中用这些干净的数据进行数据分析

    作者回复: 对的

    6
  • qinggeouye
    1、搭环境(open jdk , mysql 8.0 , mysql-connector for java, kettle) 2、启动 kettle , 实操 ...

    作者回复: 嗯 加油~

    2
  • 羊小看
    目前我们做的业务需求比较多,一个需求有时会关联五六张表,所以我们特别希望可以先做转换,做成大宽表,入仓,可以直接用。 老师说的先加载再转换,是适用于做数据挖掘时吗?

    作者回复: 两种方式都适用于数据挖掘的情况

    2
  • Sandy
    我现在每天的工作就是写kettle job

    作者回复: 不错的分享,看来ETL工作需求还是挺大的

    2
    1
  • 旭霁
    数据库 MySQL 操作 本地登录 mysql -u root -p 创建数据库 wucai CREATE DATABASE wucai; 查询数据库 show databases; 切换/进入数据库 wucai use wucai; 创建数据库表 score。包含 create_time、name、Chinese、English、Math 五个字段。 CREATE TABLE score (create_time VARCHAR(255) NULL, name VARCHAR(255) NULL, Chinese VARCHAR(255) NULL, English VARCHAR(255) NULL, Math VARCHAR(255) NULL); 查询数据库表 show tables;

    作者回复: God Job

    1
  • lemonlxn
    通过pandas预处理数据,然后用 pd.to_sql 的方式直接写到 数据库里面,这个方式感觉会更快。 或者通过 Koalas 的 to_spark 后的overwrite模式,可以直接 将数据写入到 DBFS里面的

    作者回复: 不错的分享

收起评论
显示
设置
留言
49
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部