12 | 数据集成:这些大号一共20亿粉丝?
陈旸
该思维导图由 AI 生成,仅供参考
我们采集的数据经常会有冗余重复的情况。举个简单的例子,假设你是一个网络综艺节目的制片人,一共有 12 期节目,你一共打算邀请 30 位明星作为节目的嘉宾。你知道这些明星影响力都很大,具体在微博上的粉丝数都有标记。于是你想统计下,这些明星一共能直接影响到微博上的多少粉丝,能产生多大的影响力。
然后你突然发现,这些明星的粉丝数总和超过了 20 亿。那么他们一共会影响到中国 20 亿人口么?显然不是的,我们都知道中国人口一共是 14 亿,这 30 位明星的影响力总和不会覆盖中国所有人口。
那么如何统计这 30 位明星真实的影响力总和呢?这里就需要用到数据集成的概念了。
数据集成就是将多个数据源合并存放在一个数据存储中(如数据仓库),从而方便后续的数据挖掘工作。
据统计,大数据项目中 80% 的工作都和数据集成有关,这里的数据集成有更广泛的意义,包括了数据清洗、数据抽取、数据集成和数据变换等操作。这是因为数据挖掘前,我们需要的数据往往分布在不同的数据源中,需要考虑字段表达是否一样,以及属性是否冗余。
数据集成的两种架构:ELT 和 ETL
数据集成是数据工程师要做的工作之一。一般来说,数据工程师的工作包括了数据的 ETL 和数据挖掘算法的实现。算法实现可以理解,就是通过数据挖掘算法,从数据仓库中找到“金子“。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文介绍了数据集成的重要性以及ETL和ELT两种常见的架构方式。文章详细介绍了Kettle工具的使用方法,包括Transformation和Job的创建过程,并给出了将文本文件内容转化到MySQL数据库的案例。此外,还介绍了阿里开源软件DataX和Apache开源软件Sqoop。总结指出ETL工程师需要掌握至少一种ETL开发工具,熟悉主流数据库技术,并鼓励读者分享对数据集成的理解和ETL工具的选择和使用经历。文章内容丰富,涵盖了数据集成的基本概念和工具操作,适合数据工程师和对数据集成感兴趣的读者阅读学习。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《数据分析实战 45 讲》,新⼈⾸单¥59
《数据分析实战 45 讲》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(53)
- 最新
- 精选
- Monica置顶在“数据分析实战交流群”,老师分享了额外干货资料:“Kettle的操作视频”,有入群需求的,可加我的微信:imonica1010,和老师及同学们交流数据分析的学习心得。 由于申请人数太多,进群免费但设置了一道小门槛,欢迎加我,了解入群规则。2019-01-09322
- 云深不知处大约三年大数据工程师工作,从最开始的数据集成(sqoop、代码、商用软件ETL工具等),将数据汇聚到数据仓库,理解业务,清洗应用需要的数据。数据集成是将多源(多系统)、多样(结构化、非结构化、半结构化)、多维度数据整合进数据仓库,形成数据海洋,更好的提供业务分析系统的数据服务,通过数仓的数据集成,达到数据共享的效果,降低对原始业务系统的影响,同时加快数据分析工作者的数据准备周期。数据集成最开始就是原始系统的数据,照样搬到数据仓库,这种类型工作长期实施,容易疲劳失去兴趣,理解业务需求,通过自己的数据集成、清洗、数据分析,提供有意思的数据,就是挖金子过程,应该也是一件有趣的事情。
作者回复: 很好的分享,很多人都在做数据集成的工作,时间长了难免失去兴趣,相反数据分析会更有价值,能从数据中提炼金子
2019-06-0927 - 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 接触新工具,还需多实践
作者回复: 加油~ 不错的整理
2019-01-0914 - 奔跑的徐胖子希望有如我一般的使用Mac的屌丝注意,安装完了Kettle之后,要去mysql官网下载驱动,这个驱动不能用最新版本的,要用老版本的才能连接数据库,我用的是5.1.46
作者回复: 感谢分享
2019-03-22213 - veical加载就是把转换后的数据从中间层(stage层,通常是一个数据库或数据库集群)导入数据分析层,然后才能在模型中用这些干净的数据进行数据分析
作者回复: 对的
2019-01-106 - qinggeouye1、搭环境(open jdk , mysql 8.0 , mysql-connector for java, kettle) 2、启动 kettle , 实操 ...
作者回复: 嗯 加油~
2019-11-122 - 羊小看目前我们做的业务需求比较多,一个需求有时会关联五六张表,所以我们特别希望可以先做转换,做成大宽表,入仓,可以直接用。 老师说的先加载再转换,是适用于做数据挖掘时吗?
作者回复: 两种方式都适用于数据挖掘的情况
2019-08-272 - Sandy我现在每天的工作就是写kettle job
作者回复: 不错的分享,看来ETL工作需求还是挺大的
2019-04-0821 - 旭霁数据库 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
2019-03-191 - lemonlxn通过pandas预处理数据,然后用 pd.to_sql 的方式直接写到 数据库里面,这个方式感觉会更快。 或者通过 Koalas 的 to_spark 后的overwrite模式,可以直接 将数据写入到 DBFS里面的
作者回复: 不错的分享
2020-09-18
收起评论