专栏首页小数志EMPS:个人做数据分析处理的4重境界

EMPS:个人做数据分析处理的4重境界

导读

自从事数据科学行业以来,便每天在与各种数据处理打交道,当然这里的数据处理是多方面的:既有数据采集和读写,也有数据清洗与变换,当然还有数据分析和挖掘。从主用工具的角度来看,大体上经历了这4重境界:Excel->MySQL->Pandas->Spark,姑且就称之为EMPS吧。

个人数据分析与处理经历的4重境界

对照这4种数据处理工具,计划开展系列学习与对比推文,本期做为开篇之作,仅做以概要介绍。

4种工具严格来讲其实并无实质性联系,除了它们都可用于基本的数据分析与处理。相对而言:

  • Excel,几乎零学习门槛,应该是所有职场人都掌握的通用办公软件,但对于一名数据从业者而言,它可以占据一席之地(曾经数据分析师的入门套餐就是ESP,即Excel+SQL+Python)。个人对Excel的比较喜欢的一点是内置了常用的数据处理函数、支持数据透视表以及方便制作可视化图表等,但也仅适用于小量数据,基本上上万条以上记录用Excel就难免有些捉襟见肘了;
  • MySQL,作为最流行的关系型数据库之一(当前关系型数据库行业生态可概括为2+2+1,即2付费Oracle+SQL Server,2开源MySQL+PostgreSQL,以及多平台内置的Sqlite),MySQL常常是众多高校开设数据库课程的首选(地位就好像编程语言中的C一般)。个人曾经一度刷SQL题几百道(参考一名数据分析师的SQL学习历程),对于写SQL方面也算悟得精华,但对于诸如索引、事务、引擎等进阶要求仍有欠缺,不过最近用SQL也是越来越少了;
  • Pandas,作为个人入门Python之后学习的最重要的库,潘大师曾经一度是我数据分析的主力,也着实解决了我实际工作中的不少问题,还整理了很多数据分析的小技巧(详见这一年,我总结了这些Pandas小技巧……)。一直认为,在千万级以下数据量的场景中,Pandas是最好的数据分析工具,没有之一……
  • Spark,当数据量超过千万数量级时,Pandas的处理效率就会肉眼可见的变慢不少,此时Spark这款分布式计算处理框架堪称是最佳替代品。当然,Spark的舞台绝不止于Pandas所擅长的离线批处理场景,机器学习、流处理以及图计算等都是Spark的独门绝技。为了用好Spark,个人不仅系统学习了相关入门课,还专门大费周章的学习Scala语言(Scala入门系列终章:类与对象),只因Spark与Scala才是绝配。

就像世界上没有最好的编程语言一般(当然,PHP除外 :D),数据分析也不存在最好的处理工具,所以这4种工具也并无高下之别,灵活运用合理搭配方能最大化其效用。也正是基于此朴素思想,后续将推出各工具对比学习系列推文,以Pandas与Spark.sql对比为主,MySQL和Excel也会视情加入。

本文分享自微信公众号 - 小数志(Datazhi),作者:luanhz

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2021-03-17

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 《OEA - 实体扩展属性系统 - 设计方案说明书》

        这篇设计文档是 12 月份写来参加公司的研发峰会的,自己倒是信心满满,不过最后还是没有入围。现在想想也没啥大用,所以贴出来,期待与园友交流。     文...

    用户1172223
  • 做数据分析必须学R的4个理由

    R 是一种灵活的编程语言,专为促进探索性数据分析、经典统计学测试和高级图形学而设计。R 拥有丰富的、仍在不断扩大的数据包库,处于统计学、数据分析和数据挖掘发展的...

    华章科技
  • 做数据分析必须学R的4个理由

    R 是一种灵活的编程语言,专为促进探索性数据分析、经典统计学测试和高级图形学而设计。R 拥有丰富的、仍在不断扩大的数据包库,处于统计学、数据分析和数据挖掘发展的...

    小莹莹
  • MyBatis 分页插件 PageHelper 简单使用流程

    Msg(这个适合分页插件无关的,主要是对于cotroller返回数据,进行包装,更方便浏览器解析)

    万能青年
  • 做数据分析必须学R语言的4个理由

    R 是一种灵活的编程语言,专为促进探索性数据分析、经典统计学测试和高级图形学而设计。R 拥有丰富的、仍在不断扩大的数据包库,处于统计学、数据分析和数据挖掘发展的...

    小莹莹
  • 阿卡姆大数据科普报告——Calcite

    Apache Calcite 是独立于存储与执行的SQL解析、优化引擎,广泛应用于各种离线、搜索、实时查询引擎,如Drill、Hive、Kylin、Solr、f...

    麒思妙想
  • 听说你还不会Mybatis?

    下载网址:https://github.com/mybatis/mybatis-3/

    XiaoLin_Java
  • 告诉你做数据分析必须学R的4个理由

    论坛君:你很可能已经听说过 R,或许你知道 R 是一种编程语言,而且知道它与统计学有关,但它是否适合您呢?本文作者将试图向大家讲解他对R的看法,分享他认为试用开...

    小莹莹
  • ssm之spring+springmvc+mybatis整合初探

    3、然后在web.xml中加入配置,使spring和springmvc配置文件起作用。

    西西嘛呦
  • 长篇预警:MyBatis入门到入土

    ​ 框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种认为,框架是可被应用开发者定制的应用骨架、模板。 ...

    XiaoLin_Java
  • 基于maven+ssm的增删改查之前后端之间使用json进行交互(显示员工信息)

    首先是在EmployeeController.java中,新建一个返回json数据的方法,注销掉原有的getEmps方法。

    西西嘛呦
  • 携程四面:说说Lambda表达式的演化过程!

    能够使用Lambda的依据是必须有相应的函数接口(函数接口,是指内部只有一个抽象方法的接口)。 这一点跟Java是强类型语言吻合,也就是说你并不能在代码的任何地...

    Java程序猿
  • MyBatis学习总结(三)——多表关联查询与动态SQL

    假定一个员工(emp)拥有一个登录用户(user),员工与用户表之间是一对一关系:

    张果
  • PLSQL-游标

    游标(Cursor):用来查询数据库,获取记录集合(结果集)的指针,可以让开发者一次访问一行结果集,在每条结果集上作操作。

    字母哥博客
  • sqoop 常用命令整理(二)

      26.Validate 它用来比较源数据和目标数据的数量 它有三个接口 Validator. 它有三个接口 Validator. Property: ...

    岑玉海
  • 【依葫芦画瓢】SSM-CRUD-3

    继续上一篇的讲解【依葫芦画瓢】SSM-CRUD --- 2 概要: 服务端返回json数据,构建员工列表 完成员工新增功能 增加表单前后端校验(jQuery+J...

    企鹅号小编
  • Hibernate之关联关系映射(一对多和多对一映射,多对多映射)

    ~~~接着之前的Hibernate框架接着学习(上篇面试过后发现真的需要学习一下框架了,不然又被忽悠让去培训。)~~~ 1:Hibernate的关联映射,存在一...

    别先生
  • Java8 新特性 —— 函数式编程

    通常,传递给方法的数据不同,结果也不同。同样的,如果我们希望方法被调用时的行为不同,该怎么做呢?结论是:只要能将代码传递给方法,那么就可以控制方法的行为。

    全栈程序员站长
  • 手把手教你基于【SpringBoot+MyBatis】实现员工管理系统‍【附完整源码】

    近期在学习springboot框架相关的内容,相比于SSM,SpringBoot最大的特点就是集成了Spring和SpringMVC,让之前繁琐的配置工作变得更...

    灰小猿

扫码关注云+社区

领取腾讯云代金券