中企动力 > 商学院 > 大数据经验
  • ?

    分享:6个公司的大数据岗位的面试经验

    逝流年

    展开

    作者: 锋云帮主

    本人住在有人间天堂之称的城市,6年多开发经验,最近2年主要在做大数据相关的开发,最近考虑换工作,基本也只考虑大数据相关岗位。目前新工作已经找好,但想分享一下最近面试的失败一些经历(成功的那些就不讲了),吐槽吐槽,跟广大吃瓜群众分享一下过程中的经历心得,我的语文体育老师教的,还请大家莫怪。

    公司:国内知名电信运营商,其下面的大数据研究院,面两轮

    一面:技术人员面,先自我介绍,项目经验相关介绍,问比较细,问了一些hadoop、HBase的问题,JAVA基础,JVM内存分配小于32G原因,G1和CMS对比,问关系型数据库事务级别,脏读、幻读意思。

    问题回答情况:其中G1与CMS区别我只讲了G1比CMS更耗CPU,但回收更快效果更好,两者内存划分设计不同,G1更适合大内存等,具体原因及细节没讲清;脏读、幻读只回答出跟数据库事务有关,面试当时忘记了具体什么叫脏读,什么叫幻读,有点分不清。这两个好像都没有答好,然后面试官问了我待遇期望。

    二面:隔了4天,打电话过来让我去二面,是部门经理面,其也是做技术的。上来让我自我介绍,然后就围绕我讲的开始问。讲到之前项目中通过hbase的coprocessor的endpoint方式在服务端通过jni调用c++写的算法库实现数据计算过滤功能,然后这位经理就问为什么你们图像识别相关的CV算法不用JAVA写,要用C++?

    我感觉有点懵逼,惊叹怎么会有这么小白的问题,但面上不能表现出来,简单回答说现在大部分算法都是通过C/C++写的,JAVA因为JAVA是完全面向对象的特性及jvm的关系,不适合做这么底层的事情,性能会有损耗。但似乎对方没有理解和听懂,表情带着不理解和质疑,半天从他嘴里吐出一个结论:你们不用JAVA写算法是因为你们公司搞算法那帮人只用C/C++去搞。

    我当时有点无语,不知道该怎么跟这种对CV算法一无所知的人解释(或许我该说很多算法库都是C/C++写的,让你用JAVA调用cuda的库你累不累),但对方又接着问下一个问题,你怎么看待大数据领域接下来的发展趋势?

    这个问题我从来也没想过,脑袋里突然冒出前阵子参加的云栖大会有个分会上讲的一些片段,糊里糊涂的瞎说了几句,说spark很热,使用的人非常多,后续也会集成流处理技术的一些新特性,另外说现在很多集群完全部署在云上,将来网络瓶颈解决有可能会往云上和云下自己管理的集群结合的这种方式发展。

    这个答得的确不好,有点以偏概全了,对方显然对我这个回答很不满意,又问你认为磁盘IO性能会是瓶颈吗?

    我回复说这个是目前大数据领域集群的主要瓶颈,但这个问题还好,应该会被克服改善(我想说可以把冷、热数据分离,热数据用速度快的SSD之类存储,但我没说出来)。

    对方的目光有点嘲弄的感觉,不是很友好,后来就是问一些期望待遇及让我提问之类的环节。

    结果:over,好吧,无所谓了,安慰自己,本来就不是很想去那边,因为自己偏实干型怕活太少(有点自虐),大概了解到的是对方的员工都过得偏安逸。

    公司:某跨境电商企业,为一些国家和地区的特色产品做电商服务。

    先跟他们HR聊,HR人不错,说话比较客气礼貌。

    接着是技术面,一共4个面试官,分4轮面。

    第1个哥们人挺逗,先让我自我介绍,看我简历上写着对CV相关算法有一定了解,好像跑了题似开始不断问我CV相关问题,我跟他说我工作早几年自己研究过一段时间这方面的东西,但不是很擅长,很长时间也没研究了,只是相比没接触过这方面的人来说要厉害一些,我也没有研究过Spark MLLib。不知道他哪根筋不对,问我你们公司深度学习相关的程序你有没有研究过,我说没,他又问我通常图像识别的一些流程,我大概说了一下,说得不是很细,他不停的惋惜的说道,哎呀,你这相比其他人没有特别的优势呀,你要是精通算法这方面再加上大数据就有亮点。我非常纳闷,心想难道你们公司是传说中人工智能和大数据结合的非常好的公司吗,莫非还是把无监督机器学习自我优化集成到你们的大数据系统中了吗?不应该呀,看你们的样子好像还没有那么NB,再说现在搞大数据的有几个会深度学习算法的,大多还是偏框架数据采集存储挖掘方面的。

    第2个哥们,是搞大数据相关的,不过他基本不像是在面试我,反而是在跟我吐槽他们公司,说自己也是刚来了3个月,公司哪里流程不对,自己意愿无法左右其他团队等,不过就简单跟我说了这么一通就完了。

    第3个哥们,具体是负责哪方面技术不是很清楚,感觉有点偏算法,就问了我一个题目,像是脑筋急转弯的编程题,题目是N个人围成一圈,从第1个人开始报数,第一个人报1,第二个人报2,依次下去,报到数字X的人退出圈子,下面的人继续报,请写个程序问最后留下的哪个人。我说这好像有一个便捷的方法或公式能计算最后一个人,不过我脑子想不出来,只能想一个简单的递归函数去实现,他说行,然后我就写了一个,写得马马虎虎。

    第4个,是他们CTO面,这人阴沉板着一副脸,还没说话就感觉气氛不对,估计他觉得我看着比较年轻竟敢要那么高薪水,这种人的表情我也没少见。语气有点冷,先让我自我介绍,我介绍的比较简单,然后又说了一些项目中的情况,产品数据流之类的。

    我们的产品的数据源是从ORACLE数据库里面定时去拿的,这个模块叫数据获取服务,流程很简单,就是定时读取数据后交给另一个模块,然后他说问怎么把这个数据获取服务拆分成两个模块,我很无语,说这个就是这么简单的去拿数据,没有可以再拆分的,他说就是要拆分成2个模块,我表示不知道他脑袋里怎么想的,说不知道。

    然后问了我做的一些架构经验,我说自己设计写过过一个分布式实时计算框架,是借助了一个RPC中间件去实现的,整体各模块有点类似Hadoop MapReduce,但更像Impala,不需要每次创建启动Job。我跟他简单说了一下这个RPC中间件,说了一些优缺点,例如它的消息发布订阅机制没有像Kafka那样有很好的持久化机制,程序退出了,这些消息就没了。

    他一脸的质疑,说怎么可能没有持久化,他问我那个中间件的名字,然后百度去搜,搜出来某个帖子上有人说的那个中间件的一些特性,讲到一个模块是专门做持久化的,然后他就拿来阴沉着脸质疑我说,你看,这不是持久化吗?我看他那样表情,不想再多解释什么,想说艹尼玛,有点常识好不,那帖子讲得完全不是一个东西,那个持久化不是指消息发布订阅的持久化,这中间件我好歹也用了小半年,你这么百度一搜就敢理直气壮质疑我,这水平真是CTO?

    结果:他们HR后来还打电话问我跟CTO聊完感觉怎么样,我感觉自己脾气太好了,没有抨击一下那个CTO,就说他不太清楚我做的东西。HR把我的期望压得很低问我愿不愿意去,我直接说不去了。见过这么奇葩的CTO,就算加薪让我去,我还得重新考虑。

    公司:某视频监控安防行业的知名公司,面试其下的大数据研究院的一个大数据开发岗位。

    面试我的是他们的一个技术主管和另外一个技术人员,上来先自我介绍,详细问了一些项目相关的信息,然后问了很多Hadoop、HBase的一些原理,项目中rowkey和分区设计,问了spark streaming 并发度、createDirectStream和createDStream的区别,一段时间内分别生成了几个RDD,问了Kafka分区各副本是如何在集群各台机器上分布的等。

    有好几个问题没回答清楚,感觉自己表现和准备不是很好。

    结果:等通知。后来隔了好多天通知我去HR面,鉴于我当时已经收到其他offer,而且面试情况不是很好,估计会被压offer,就委婉放弃了。36大数据

    公司:国内知名互联网公司,Hadoop研发工程师岗位。

    电话面试:面试了25分钟左右,问了很多大数据的基础的技术问题。如Map Reduce相关,Reduce时如何Sort,HBase优缺点,LSM相关,前面基本上全部答出来了,但是最后问到有没有做过用Map Reduce处理数据join,因为我之前做的项目大数据框架比较简单,没有多表关联的查询,当时对join概念也有点反应不过来,就说没做过,然后又问Map Reduce join有几种方式,也没答出来。

    结果:电面没过,就因为最后两个跟join有关的没答出来,就over了,尽管回去后恶补了这方面的知识。

    公司:某做数据营销广告大数据服务的公司,大数据研发岗位。

    面试我是的他们做大数据架构团队的主管,先自我介绍,讲了一些项目的东西,然后对方觉得我之前做得项目大数据架构比较简单,态度比较桀骜,然后又问了一些JAVA基础的东西,比如BIO与NIO特点与区别,问我有没有用过,我答得不是很好,但应该还过得去,然后又问Concurrent包下面有哪些类,ConcurrentHashMap与HashMap区别等等。我感觉他有点轻视我,不是一个公正的眼光在问我。然后又问我Linux命令熟不熟,吧唧吧唧问了好一些,我基本都答出来了。

    最后他冒出一句,我们现在这边大数据开发的岗位都基本招满了,还缺一个大数据运维的,除了部署维护大数据集群,还要写一下oracle的udf。我问他这跟开发工作关系密切吗,他说关系非常密切,只是他们大数据的研发都偏向于写代码,不愿干这活。感情他是在逗我,QTMD。

    结果:然后就没有然后了。

    公司:某车贷互联网金融公司,大数据研发岗位。

    先是电话面试:面试了25分钟左右,问了Hadoop Map Reduce资源配置、ElasticSearch原理的一些问题,问得比较简单,基本都没问题,问道Lucence如何实现对一个字段索引的时候,其实只要答倒排索引就好了,我比较二,把倒排索引怎么实现的大概讲了一下,细节还讲的不是很好。

    过了几天,然后是直接面试,这次面的内容还是比较简单,面试官人感觉不错,就是有点二,怎么说呢,理解能力不太好,比如问我HBase 不同colomn family跟关系型数据库中的列的区别,我答说colomn family在物理上是独立的store file,可以只查询某个

    column faimily,而关系型数据库一条记录是整行数据,查询的时候,需要整行数据都读出来,然后吧唧吧唧又扯出好多。结果你猜怎么着,他说我还是没有回答到点上,说

    column family是面向列的。我有点无语,我都把它怎么是面向列的底层存储结构都讲出来了,你竟然还说我没答出来。问了很多问题都基本答出来了,就是面试官总觉得我没有答到点上,说自己貌似明白我的意思了,问我是不是平常很少沟通问题。这种人真是活久见,明明一个意思,我答得更详细清楚,他非说我没答出那个标准答案名称,面试这么多次,这种情况真是第一次碰到。最后问了Hive相关的,问我有没有用过,我说没用过,但这种跟基本SQL差不多,问Hadoop Stream相关,我也说没怎么用过。问得问题都比较浅,没有什么深入的问题。

    结果:后来HR通知我说面试官觉得我技术深度不够,哎,有点搞笑的,其他几个面试下来要这么说我完全没意见,但是这位面试官问得那些问题我基本都答出来,而且他自己没怎么问我深入的问题。算了,奇葩总是有的。

    其他一些经历就不啰嗦讲了,个人总结有几点如下:

    现在做大数据相关的公司和人还不是很多,相比常见的如JAVA岗位面试官的水平明显要差很多,除了接触的几个知名点的大公司问题环节比较规范,不过这种现象应该接下来几年会有所改善。

    有些时候不是你技术不行,而是你的谈吐表达能力给他们的印象,像我自己表达语言组织能力只能算中等可能还偏差,表达条理不好容易被pass。

    感觉工作经历跳槽少的并不比频繁跳槽的受待见,像我6年只在2家公司待过,大家都知道,在一家公司工资是很难涨上去的,而对方人力往往以你当前薪资作为重要参考,就算你的水平比相同工作时间的人强很多,但对方公司不可能马上了解到,你想要跟这些相同工作年限人相同水平的薪资可能都比较困难,对方人力往往以此打压你开太高期望涨幅过大。

    End.

  • ?

    提高mysql千万级大数据SQL查询优化几条经验(2)

    阿克罗蒂里

    展开

    在上篇《提高mysql千万级大数据SQL查询优化几条经验(1)》中我们从几个方面提出了15条优化或是注意的。接下来我们接着看还有那些需要注意的。

    本节主要内容:

    1:字段数据类型上需注意

    2:临时表使用需注意

    16:尽量使用数字类型字段,若只含有数值信息的字段,尽量不要设计字符类型,这会降低查询和连续查询性能,并会增加存储开销。这是因为引擎在处理查询和连接时候会逐个比较字符串中每一个字符,而对于数字类型来说只需要比较一次就够了。

    另:mysql

    17:尽可能的使用varchar/nvarchar 代替 char/nchar。因为首先变长字段存储空间小,可以节省存储空间,其次对于查询来说,在一个相对较小的字段内搜索效率显然要高许多。

    18:任何地方都不要使用select * from user ,使用具体的字段列来代替"*".不要返回用不到的任何字段。

    19:尽量使用表变量来代替临时表,如果表变量包含大量数据,请注意索引非常有限(只有主键索引)

    20:避免频繁创建和删除临时表,以减少系统表资源消耗

    21:临时表并不是不可使用,适当的使用它们可以使某些更有效。

    例如,当需啊哟重复引用大型表或者常用表中的某个数据集的时候。但是,对于一次性事件,最后使用导出表。

    22:在创建临时表时,如果一次性插入数据量很大,那么可以使用select into 语句来代替create table,避免造成大量log日志,以提高速度;如果数据量不大,为了缓和系统表的资源,应先create table,然后 insert.

    23:如果使用到了临时表,在存储过程的最后务必将所有临时表显示删除,先truncate table,然后 drop table.这样可以避免系统表的较长时间锁定。

    24:尽量避免使用游标,因为游标的效率较差,如果游标操作的数据超过一万行,那么就应该考虑改写了。

    25:使用基于游标的方法或是临时表方法之前,应先找基于集的解决方案来解决问题,基于集的方法通常更有效。

    26:与临时表一样,游标并不是不可使 用。对小型数据集使用 FAST_FORWARD 游标通常要优于其他逐行处理方法,尤其是在必须引用几个表才能获得所需的数据时。在结果集中包括“合计”的例程通常要比使用游标执行的速度快。如果开发时 间允许,基于游标的方法和基于集的方法都可以尝试一下,看哪一种方法的效果更好。

    27:在所有的存储过程和触发器的开始处设置 SET NOCOUNT ON ,在结束时设置 SET NOCOUNT OFF 。无需在执行存储过程和触发器的每个语句后向客户端发送DONE_IN_PROC 消息。

    28:尽量避免大事务操作,提高系统并发能力。尽量避免大事务操作,提高系统并发能力。

    29:.尽量避免向客户端返回大数据量,若数据量过大,应该考虑相应需求是否合理。

    相关文章:

    提高mysql千万级大数据SQL查询优化几条经验(1)

  • ?

    大数据产业发展的国际经验!

    Mao

    展开

    2012 年被认为是大数据元年。在这一年,美国奥巴马政府推出了《大数据研究和发展计划》,启动了美国国家大数据战略;用户日志管理公司 Splunk 成功上市,成为大数据第一股。在随后的几年中,大数据风潮席卷全球,技术、资本、人才趋之若鹜,大数据产业出现了一波脉冲式的发展。从全球经验来看,企业是大数据应用创新的主要力量,政府为大数据产业发展提供了巨大支撑,开源社区则为大数据技术进步营造了广阔空间。但是,与此 同时,鼓励数据价值发现之“鱼”和保护个人隐私之“熊掌”两者不可兼得的法规矛盾变得越来越突出。

    经济层面

    创造价值是大数据应用创新的源动力

    利用大数据资源和技术创造更多价值,成为企业 开展大数据应用创新的源动力。围绕既有的资源禀赋和竞争优势,企业进行着各种大数据产业创新,探索 出大数据背景下适合企业自身发展的路径。

    一方面,传统IT硬件厂商积极向大数据基础设 施和大数据技术平台服务提供商转型。根据美国专 业分析机构Wikibon发布的报告,IBM公司2013年从大数据相关产品及服务中获得了13.68 亿美元收益。其具体产品包括服务器与存储硬件、数据库软件、 分析应用程序以及相关服务,还有 DB2、Informix、 InfoSphere 数据库平台,Cognos 与 SPSS 等大数据 分析应用类产品。惠普公司在2013年获得的大数据营业收入总值为8.69亿美元,它还提供与之相关 的硬件、软件以及服务,其中最为知名的方案当数 Vertica 分析平台。

    另一方面,诸多新型互联网企业成为数据资源的集聚方,通过创新形成大量的数据产品服务于各类应 用场景。比如,eBay公司用数据驱动商业,其所有的 数据产品都是针对业务而生,数据部门需要对不断变 化的用户需求找到解决之法,也就是从客户的行为数据中寻找更多新价值。eBay公司针对卖家工具提供的 Seller Hub,可以对每一位卖家进行深入分析,使卖家了解哪些商品更畅销,产品如何标价才能具备竞争 优势等。再比如,Salesforce公司是一家专注于CRM(用户关系管理)的公司,通过对用户数据分析挖掘 形成新的价值,是大数据在精准营销领域的典型应用。 Salesforce公司在2015年的营业收入超过50亿美元。

    据大数据行业分析师估计,到2020年,Salesforce公司有望成为一家市值达 1000 亿美元的公司。

    技术层面

    开源社区是大数据技术进步的大生态

    开源模式成为大数据技术创新的主要途径。从大数据技术的发展历程上可以看出,大数据核心技术如分布式存储、云端分布式及网格计算均依赖于开源模式,即通过开放式的平台,吸引全球开发者通过开源社区进行代码的开发、维护和完善,从而集全球智慧推动大数据技术的不断进步。当前,全球各大企业 加大了对开源社区的赞助和智力投入,开源社区在大 数据技术进步中占据核心地位。

    一方面,由第三方打造的大数据技术开源平台 发挥了积极作用。Apache 软件基金会(ASF)是推动大数据技术发展的全球顶级开源社区。ASF 正式创建 于 1999 年,至今已经成功孵化了众多大数据相关的 开源项目。ASF 大数据开源社区的创建过程是全球 大数据技术公司的集体智慧。其中,Apache Hadoop 技术的发展就是非常典型的例子。谷歌公司在 2003 年发布的关于谷歌文件系统(Google GFS)的论文 和 2004 年发布的关于编程模型 MapReduce 的论文是 Hadoop 的技术雏形。2005 年, 雅虎公司启动了 Nutch 项目,提供了一个专门的团队和资源将 Hadoop 发展成一个可在网络上运行的系统。到 2008 年 1 月, Hadoop 已成为 Apache 的顶级项目,并成为大数据发展的技术标准。

    另一方面,大数据领先企业也在围绕自身生态 打造技术开源社区。这些企业通过开源项目的方式推动技术创新,并将创新成果通过开源方式向全社会辐射,引导和推动大数据技术的发展,在国际上逐渐形成了一套高效运转的研发产业化体系。开源提供了一 种高效生产软件的方法,降低了企业进入大数据应用服务市场的壁垒,催生更多技术和服务应用的创新。比如,Facebook 公司于 2013 年 11 月开源了 Presto 技术,该技术是新型分布式 SQL 引擎,它能够对各 种大小(从 GB 级至 PB 级)的数据源进行交互式的 分析查询。2015 年,Presto 社区的代码提交数量提 高了48%,而 fork 的数量则提高了 99%。Airbnb、 Dropbox、Netflix 等各大公司都开始使用 Presto 作 为交互式查询引擎。

    Presto 在全球范围内的接受度也在逐步提高,包括来自日本的社交媒体游戏开发公司 Gree,以及来自中国的电子商务公司京东都在使 用该技术。

    政策层面

    政府战略是推动大数据产业发展的重要保障

    完善的政策是当前大数据先行国家推广大数据应用的重要保障。在政府大数据战略部署和政策推动下,发达国家的政府部门、企业、高校及研究机构都开始积极探索大数据的应用。美国政府和欧盟成员国家都对大数据发展持积极态度,但具体策略有所不同。

    美国的大数据战略重在“以点带面”,通过公布重要部门的大数据项目规划,扶持重要领域的大数据技术研发,带动其他部门和社会各界对大数据技术的研发投入和推广应用。2009 年,美国国家科学技术委员会(NSTC)发布了《开发数字数据的威力》报告,初步提出了发展大数据的框架、建议和目标。2012 年 3 月,奥巴马政府宣布启动《大数据研究和发展计划》,投入 2 亿美元进行大数据相关技术的研发。2013 年 5 月,奥巴马政府发布行政命令,加大政府 数据开放力度,以便更加有效地利用宝贵的公共数据 资源。2014 年 5 月,白宫行政办公室与总统科技顾 问委员会(PGAST)联合发布报告《大数据:抓住机遇,保护价值》,从政策角度分析了大数据技术的发展对社会带来的巨大影响。2016 年 5 月,白宫又发布了《联邦大数据研发战略计划》报告,在已有基础上提出美国下一步的大数据发展战略。通过一系列的政策措施,美国大数据战略形成了跨部门协同工作的机制。具体工作由 NSTC下设的“网络与信息技术研发计划”(NTTRD)分委员会负责,并专门设立跨部门高级别协调工作组,参与部门多达 15 个,2016 年的工作预 算达到近 3 亿美元。

    欧盟则强调政府“铺路打基础”的作用,突出政府在人才培养、基础设施建设、资金扶持、项目规划、合作环境搭建中的基础保障作用。2012年9月,欧盟进一步公布了《释放欧洲云计算服务潜力》战略方案,并向欧盟委员会和欧洲议会提交了《云计算发展战略及三大关键行动》建议。该战略计划通过两年时间,把欧盟打造成云计算服务的领先经济体,为 2014—2020年欧盟“云起飞”创造基础,让大数据技术革命渗透到经济社会的各个领域。到 2020 年,大数据技术为欧盟创造的GDP将达到9570 亿欧元, 增加就业人数 380 万。2015 年以来,欧盟力推的《数据价值链战略计划》旨在用大数据改造传统治理模式,大幅降低公共部门成本,并促进经济和就业增长。这一计划的重点是培育一个连贯的欧洲数据生态系统,促进围绕数据的研究和创新工作,采用数据服务 及产品,采取具体行动,改善数据价值提取的框架条件,包括基础能力、基础设备、标准以及有利的政策 和法规环境。目前,欧盟正在制定一系列重点行动计划,解决数据价值链中与价值创造相关的大量交叉问题。数据价值链战略计划包括开放数据、云计算、高性能计算和科学知识开放获取四大战略。

    法规层面

    隐私保护是大数据产业发展的难掩之伤

    当前,各国对大数据产业创新给予支持的同时,未能形成明确的监管法律来确定个人隐私在大数据时代的法律边界,这造成了大数据行业发展的法律 监管“灰色地带”。一方面,以数据驱动的经济发展模式是各国所向往的新经济形态,鼓励数据开放是 “鱼”;另一方面,数据价值挖掘背后是对个人隐私权不同程度的侵犯,呼吁保护隐私是“熊掌”。但是, “鱼”和“熊掌”不可兼得。因此,我们经常看到,各国政府在制定和实施隐私保护法规的时候,往往会 出现时紧时松、左右摇摆的现象。

    美国是非常尊重个人隐私的国家,最早提出隐 私权概念,同时也是世界上互联网络技术最为发达的国家,大力倡导网络信息自由。1966 年颁布的《信息自由法案》要求充分实现信息公开和开放,让公民 有足够的知情权;1986 年通过的处理网络隐私权保 护问题的重要法案《联邦电子通讯隐私权法案》强调对个人隐私的保护。多种法律法规对行为主体的适用性会出现不一致的情况,所以美国政府砸保护网络隐私方面更偏重于采用行业自律的模式。在“9 11”事件之后,尤其是“棱镜门”事件之后,美国政府加强了对网络信息的管控,直到大数据产业兴起,网络数据管控才有所放松。随着以数据驱动的新经济模式的发展,个人数据隐私被侵犯的问题变得越来越严重。奥巴马政府时期,联邦通信委员会(FCC)颁布了《网络用户个人隐私保护法案》,不允许网络服务提供商(ISP)在未经用户同意的情况下买卖用户的个人数据信息。但是,2017 年 3 月 28 日,美国众议院票决宣布废除《网络用户个人隐私保护法案》。这标志着美国互联网政策将发生急剧变化,政策摇摆现象展现得淋漓尽致。不过,也有人将此解读为商业巨头的博弈,因为此次联合决议授权 ISP 进入原来由谷歌公司 和 Facebook 公司占据主导地位的在线广告市场。

    欧盟在隐私保护方面更为保守,倾向于制定和 执行较为严格的隐私保护法规。 欧盟 1995 年通过了《数据保护指令》,为欧盟成员国立法保护个人数据设立了最低标准。其后,2002 年颁布的《隐私与电子通信指令》要求网站告知用户启用 Cookie 及如何删除或作废 Cookie。2009 年颁布 的《欧洲 Cookie 指令》则要求网站在用户初始使用时必须关闭 Cookie,直到用户明确同意启用 Cookie 时才能 开启此功能。2015 年 12 月,欧盟执委会(European Commission)通过了《一般数据保护条例》(GDPR),以欧盟法规的形式确定了对个人数据的保护原则和 监管方式。值得一提的是,《一般数据保护条例》还 提出了“被遗忘权”(Right to Be Forgotten), 即个人可以要求搜索引擎从包含“不相关”或者“过 期”个人信息的结果里移除链接。这种法律拘束性判决现在不仅是欧盟法律的一部分,还延伸到覆盖各种 类型的个人数据。比如,个人可以要求 Facebook 公司删除个人账户以及所有自己的活动相关的数据。

    纵观全球大数据产业,当前尚处于初级阶段。对于中国大数据产业来说,政府的战略支持和企业创新能力都已经具备,但还没有形成成熟的大数据技术开源社区。此外,为了保障大数据产业的有序规范发展,相应的法律法规也是必不可少的。

  • ?

    专访|17年数据分析经验告诉你大数据行业的门道

    加里

    展开

    本文根据具有十七年数据分析行业经验的嘉宾陈晨的纪实采访整理。

    本期专访嘉宾:陈晨

    简历:现任电通安吉斯 – 美库尔(DAN – Merkle) 中国(上海/南京) 数据与分析部高级总监,兼任Merkle南京公司总负责人。十七年以上美国、加拿大及中国咨询业及行业领先公司数据营销、风险分析、定量模型,客户关系管理策略的经验,拥有市场营销、定量方法 、经济计量和统计学方面坚实基础,和建立银行/金融/零售业营销模型和信用评分模型的丰富项目背景。

    Q:如果企业想要挖掘数据价值,但由于种种原因,导致数据本身维度不完备,或缺失较多等情况。您能利用多年项目经验,跟我们分享一下这类企业应该怎样有效利用数据吗?

    陈晨:对于广告营销而言,有用的数据维度是越多越好。即使企业自身CRM做得非常完备,有了其他数据源的补充,对于理解现有客户群体,如何进行下一步营销活动的准备都是非常有好处的。

    事实上,没有任何一家数据提供商能够满足品牌所有的营销信息需求,品牌需要的是因地制宜地购买、结合与其最相关的高质量数据内容。Merkle可以利用其购买力和强大的合作伙伴网络,帮助品牌在全球范围内找到需要的数据,再结合数据整合和落地效果分析,为客户创造了战略优势。

    按照Merkle常用的用户生命周期来说,我们把用户的生命周期分成接触潜在用户(获客阶段)、老客维护(互动阶段)及留存分析(促使回购阶段)。在获客阶段,Merkle可以结合其他数据来源,丰富数据维度。比如我们在为某知名在线英语教育品牌服务中,由于客户本身数据不足以支撑建模,我们就利用运营商数据和某知名科技公司数据为客户做了数据增强,用户画像及建模准确度都提高了不少。

    而且和运营商数据做对接有个好处,运营商天然有接触消费者的渠道,所以这个项目的第二阶段,我们会应用模型挑选最有可能转化的消费者,通过发短信、弹窗的形式,在合适的触点做营销活动。

    如果是在互动阶段,数据维度越多,我们越能基于用户行为/状态对用户分群,实现个性化交互。举例来说,我们曾为NBA提供了Loyalty Plus平台解决方案,帮助客户打造出“NBA球迷圈“。”球迷圈”是Merkle通过收集、清洗和整合多个数据源的顾客数据,确立会员策略,为NBA中国建立的客户忠诚度系统,从而可以基于球迷的行为和状态建立球迷分群,个性化地实施与球迷的有效交互。

    目前该忠诚度系统已有超过60万球迷注册,活跃用户达到64%,收集到的会员交互数据将用于客户分群和定制化的服务,实现营销上升闭环的效果。对于留存分析而言,更多的做竞品分析,了解用户为何流失。

    在用户生命周期的不同时段,不同对应策略

    Q:什么情况下公司会考虑利用数据分析/模型来做优化,具体怎么操作,落地效果又是如何评估的呢?

    陈晨:从根本来说,数据分析/建模/统计等都是用来更科学的衡量数据资产的一些方法。就我的角度来讲,只要有数据,有余力,都可以尝试从数据中感知用户,提升营销效果。

    我们姑且把公司分为两类,一类是注重用户增长型的企业,一类是注重客户维系的企业,当然这个划分不是很严格的,许多企业是两者并重的。注重用户增长意味着获客,获客没有哪个企业是不需要的,但是随着互联网的兴起,数据的兴起,获客在具体做法上有了很大的改变。

    互联网刚兴起的时候,大家会发现网上获客又简单又便宜,比如在搜索引擎上投一投付费广告,或者做做SEO,效果很显著。

    现在呢?网上的流量越来越贵,对于某些特定行业,比如汽车或者教育,一个销售线索的成本达到了几十甚至到几百人民币,所以如何在当下环境找到有效、便宜的方法来接触到更多的潜在消费者对企业来说是很重要的。

    我们现在的做法是帮助客户量身打造一个精准获客的策略和完整的CRM(CustomerRelationship Marketing客户关系营销)解决方案。

    首先了解到客户现有的获客流程,基于行业和客户自身特点提出解决方案,落地之后还可以通过与历史数据对比来看效果如何,在这个过程中我们又学习到什么,再去调整具体的操作或者实施步骤,形成闭环优化的结果。以某著名电脑品牌客户为例,原来的获客方法就是做线上线下活动,网上购买一些用户资源,但是我们可以帮他做细,我们可以通过模型来挑选出对品牌感兴趣的人群,在此基础上再做活动,省钱省力。

    之后在转化阶段,原先客户的方法就是通过电话中心接触,或者直销的形式,我们可以丰富这些手段,比如可以结合数据来核实用户的真实意图和具体需求,在接触到的时候做到个性化推荐;或者可以用模型对这些用户做分群,之后再促进转化,都是非常好的方法。

    Merkle CRM解决方案流程图

    对于注重客户维系的企业,我们可以帮助企业建立用户价值和生命周期的体系。用户价值的主要目标是作为投资标准,而对用户的投资有多种形式:比如为高价值用户提供更频繁、便利的服务;在营销活动中为不同用户提供定制化的接触策略等。

    我们在确定用户价值时会考虑很多因素,比如考虑到任期,流失,风险,营销和服务成本,交易历史以及预期的未来盈利能力和收入。而且用户价值会随着其生命周期的改变而改变,这是一个动态的过程,完全可以在这种变化中放大营销效果和增加决策正确性。还是举电脑行业的例子,我们可以结合用户历史购买/保修/网上浏览等行为,给每一个用户一个生命周期所在阶段,然后在合适的时间点接触到用户。

    Q:能否给志在从事大数据行业的年轻人一些您的意见?

    陈晨:我觉得从事大数据行业首先要可以沉得下心来,必须能够掌握一两种常用的数据分析工具,比如R,Python等,能够进行一定程度的编程,这样才能对数据理解和分析有一个直观的学习深入过程,也可以训练新人的数学和逻辑思维能力。

    当然这是进入行业的基本前提。然后是要有一定的统计学基础和商业分析能力,能够迅速地从数据分析的结果中得出对商业运用或其他相关专业领域的洞察和应用方向。简单地说不是把模型跑出来,图表画出来就完事儿了,还需要能够从模型结果和数据可视化呈现中推断总结出后面真正的故事和意义。

    在这些基本的能力和技能掌握后,要保持持续学习的心态,不断追随和了解行业最新动态和趋势,并能够横向进行多产业方向的融汇贯通。另外,大数据分析专业往往需要和不同部门,不同类型的客户进行沟通、讲解,所以如果在职业生涯的后端需要保持持续发展的竞争力,能用专业和非专业的语言和不同层次背景的合作方进行有效沟通也是必不可少的技能。

    这次的访谈到此结束,谢谢陈晨分享关于数据整合/增强、数据分析和建模的一些项目经验。

    End.

  • ?

    Hulu大数据架构与应用经验

    阿司

    展开

    内容来源:2017年8月12日,Hulu大数据架构部门负责人董西成在“网易博学实践日:大数据与人工智能技术大会”进行《Hulu大数据架构与应用经验》演讲分享。IT 大咖说(ID:itdakashuo)作为独家视频合作方,经主办方和讲者审阅授权发布。

    阅读字数:1540 | 4分钟阅读

    获取嘉宾演讲视频回放及PPT,请复制链接:http://t/Rsv86LV,粘贴至浏览器即可。

    摘要

    Hulu大数据架构部门负责人董西成为我们分享Hulu在大数据架构与应用上的实践经验。

    Overview

    上图是hulu整体的大数据架构。我们的架构和其它架构基本都是大同小异,只在几个地方稍有不同。

    Hulu在yarn上主要跑了四种东西,批处理、交互式计算、流式处理和服务。

    我们自己开发了一个交互式计算引擎Nesto,在运行服务这一块,我们有一个工具叫Voidbox。

    在这之上,我们还提供了各种各样的工具,方便用户使用整个集群。比如客户端管理工具Firework,还有统一的配置管理中心Horcrux,以及其它的工具。

    除此之外,在上图右边可以看到我们用了两个集群管理工具,Cloudera Manager和Hawkeye。

    我们有4个clusters、3个datacenters,这些基础设施都是被北京和美国的所有团队共享。目前在大数据基础架构这一块大约有十个人在负责整个集群的运维优化和开发。

    Hulu Focus

    Hawkeye

    作为一个大数据基础运维团队,有一部分工作就是运维。运维必然需要一个强大的管理和监控系统,Hawkeye主要是帮助用户更好地了解数据或应用程序的变化,主要分为三部分。

    第一个是报表。我们会给各个团队周期性地发送一些报表,这些报表里包括了冷热数据的分布、小文件的分布以及数据增长情况。让各团队了解数据的变化。

    第二个是各种报警。有服务级别的报警、数据增长的报警、大的应用程序报警、服务状态的报警等等。这些报警信息有的会发送给数据团队,有的会发送给基础设施团队,以了解整个集群的运营情况。

    我们还有自动化的程序,自动根据磁盘或者机器的状况产生任务,把它发送给常驻机房的团队,帮助我们进行修复。

    Firework

    Firework集成了hulu内部所有的Hadoop位置信息和版本信息。如果想用Firework访问不同的集群,只需要用相应的命令指令要访问哪一个机房,它会自动从中央仓库上把对应的版本缓存在本地,然后通过应用对应的客户端来访问Central。

    Hulu Spark

    目前Spark已经升级到了2.1版本,我们在内部版本里打了超过30个比较大的patches。

    sparkstreaming和kafka结合的时候,任何的风吹草动都会使spark streaming出现问题,因为它在稳定性这一块非常差,现在开源社区还没有解决这个问题。

    每一个spark会有很多executors,有时候客户需要调试各个executors。我们会采用一些启发式的算法,动态地探测各个executors的运行情况并对出现问题的executors采取一些措施。

    我们有high cpu的applications,针对这样的应用程序,我们允许用户来定制每个节点可以跑的executors个数。

    以上的例子都是我们对spark内部做的一些调整和优化,来帮助用户提高spark的稳定性和性能。

    OLAP Engines

    现在出现了越来越多的OLAP引擎,OLAP通常会分为三层。

    如上图所示,最底层就是各种各样的OLAP引擎,有Impala、Presto、Nesto以及Druid。

    上面是基于OLAP引擎开发的应用,比如多维分析、时间序列分析、Cohort的分析以及用户流通率分析。

    最顶层就是各种各样的可视化系统,Tableau和Hulu BI Portal。

    OLAP - Presto

    OLAP引擎中比较好用的就要算Presto了。Hulu在Presto里面启用了Resource group特性,可以把OLAP的资源分成若干个资源池,给不同的组来使用。

    ElasticPresto就是可伸缩的Presto,根据查询的负载,动态地增加或者减少计算资源。在这一块yarn为我们提供了很好的操作系统。把Presto运行到yarn上,可以简化部署,滚动升级变得非常容易,并可以根据负载的情况不断弹性伸缩可用的计算资源。

    OLAP – Nesto Background

    Hulu自己开发了一个计算引擎Nesto,它主要是解决嵌套式数据查询的问题。

    Hadoop Multi-DC

    Challenge

    数据量非常大,应用程序也非常多,还有很多混合类型的应用程序。

    我们把切换的downtime控制在一天之内,或者几个小时甚至更短。

    Hulu的场景比较特殊,由于我们是一个跨国的公司,涉及到很多office,要与多个办事处的所有数据组协调。

    如果想做透明的迁移,可能要做很多技术上的改动,自定义基础结构(代码级)以保证顺利地迁移。

    Components

    DCNamenode:支持数据中心级拓扑。

    DCTunnel:根据文件夹级白名单和黑名单同步块;有带宽限制;基于优先级的块复制;调整报价;显示进度的Web门户网站。

    DCBalancer:每一个数据中心内的平衡。

    总结

    构建基本的工具来更好地为用户服务,为用户的特殊案例定制开源项目,为特殊场景构建新系统。

    今天的分享就到这里,谢谢大家!

  • ?

    大数据发展经历的阶段

    全问萍

    展开

    大数据是这个时代最热的话题,仿佛一夜春风来。经过几年的表演,仿佛又成为了烂大街的话题。那么对于我们每个人来说,到底何为大数据?它又跟我们每个人有什么关系呢?接下来我会带领大家一起找寻答案。

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

    然后是研究机构Gartner。“大数据”是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力来适应海量、高增长率和多样化的信息资产。

    最后麦肯锡全球研究所给出的定义是:一种规模大到在获取、存储、管理、分析方面大大超出了传统数据库软件工具能力范围的数据集合,具有海量的数据规模、快速的数据流转、多样的数据类型和价值密度低四大特征。

    对比上面三个定义不知道细心的读者是什么感觉,晕?还是抽象?其实从定义中我们不难找出共同的关键字,例如常规、传统、新处理模式、信息资产。

    那么我们抽象一下它的定义结构就是:

    形容(传统)不能满足+需要(新处理模式)=大数据。

    如果觉得还没有描述清晰大数据,我们再加入4v的定义。4v是指Volume(大量)、Velocity(高速)、Variety(多样)、Value(价值)。结构变化如下:

    形容(传统)不能满足+需要(新处理模式)=大数据+具有4v特征。

    到这里的时候,大家应该对大数据的定义有了一个更加清晰的认识。那么为什么突然就大数据了呢?其是数据一直都在,只不过是记录数据的方式在变化。自古至今我认为可以简单分为四个阶段。

    第一个阶段,以前没有IT前我们用书本等记录数据,这个时候受限于采集数据的手段单一、人生产数据的工作效率低以及分享的不便捷性,导致数据单一、量少。这个时候数据的特点是少量、价值密度高。

    第二个阶段当有了IT技术后,我们把我们的工作数据和个人数据记录在服务器里面,这也就是信息化。例如银行的业务系统,企业的OA系统等,通过信息化引发的各种工作数据、业务数据开始进入到服务器中。这个时候的数据呈现出业务性特点。

    第三个阶段当出现了互联网后,我们的数据开始加大、开始出现分享的文档、图片、视频等数据。这个时候数据开始出现大量、多样性、价值密度低等特点。

    第四个阶段也就是我们目前所处的阶段,这其实也是由新技术以及环境的变化引发的现象。物联网的兴起带来了大量的高速的物联数据,例如gps设备、监控心跳和血压等设备。移动互联网导致我们以手机为终端实时产生大量的语音、图片、视频等多样性的数据,例如我们每天用微信聊天沟通,支付等。这个阶段的数据的特点是随时随地产生数据。真正达到了具备4V的特征。

    所以说大数据跟我们每个人是息息相关的,你可以回想一下我们每个人每天的场景。我们带的穿戴式设备、用的智能家电、手机等设备,我们每天上下班的乘坐的交通工具,我们进入单位后的打卡数据、工作行为、上网行为、购物行为等。

    在这个信息爆炸的时代我们每个人是一台生产数据的机器,全社会上的人都在源源不断地制造数据。这是个万物互联,数据连接的时代。换言之我们每个人都是大数据的缔造者。那么我们理所当然也应成为大数据的受益者,接下来会为大家娓娓道来。

  • ?

    经验:如何进行大数据入门级学习

    长色

    展开

    虽然题主问的是大数据的入门,但在我看来“大数据”就是数据科学的一个高阶状态。以下内容中除个别情况,我基本上都会使用“数据科学”这个概念。数据科学并没有一个独立的学科体系,统计学,机器学习,数据挖掘,数据库,分布式计算,云计算,信息可视化等技术或方法来对付数据。但从狭义上来看,我认为数据科学就是解决三个问题:

    1. data pre-processing;

    2. data interpretation;

    3.data modeling and analysis.

    这也就是我们做数据工作的三个大步骤:

    1、原始数据要经过一连串收集、提取、清洗、整理等等的预处理过程,才能形成高质量的数据;

    2、我们想看看数据“长什么样”,有什么特点和规律;

    3、按照自己的需要,比如要对数据贴标签分类,或者预测,或者想要从大量复杂的数据中提取有价值的且不易发现的信息,都要对数据建模,得到output。

    这三个步骤未必严谨,每个大步骤下面可能依问题的不同也会有不同的小步骤,但按我这几年的经验来看,按照这个大思路走,数据一般不会做跑偏。

    这样看来,数据科学其实就是门复合型的技术,既然是技术就从编程语言谈起吧,为了简练,只说说R和Python。但既然是荐数据科学方面的书,我这里就不提R/Python编程基础之类的书了,直接上跟数据科学相关的。

    1R programming

    如果只是想初步了解一下R语言已经R在数据分析方面的应用,那不妨就看看这两本:

    R in action:我的R语言大数据101。其实对于一个没有任何编程基础的人来说,一开始就学这本书,学习曲线可能会比较陡峭。但如果配合上一些辅助材料,如官方发布的 R basics (http://cran.r-project.org/doc/contrib/usingR.pdf),stackoverflow上有tag-R的问题集(Newest 'r' Questions),遇到复杂的问题可在上面搜索,总会找到解决方案的。这样一来,用这本书拿来入门学习也问题不大。而且这本书作者写得也比较轻松,紧贴实战。

    Data analysis and graphics using R:使用R语言做数据分析的入门书。这本书的特点也是紧贴实战,没有过多地讲解统计学理论,所以喜欢通过情境应用来学习的人应该会喜欢这本入门书。而且这本书可读性比较强,也就是说哪怕你手头没电脑写不了代码,有事没事拿出这本书翻一翻,也能读得进去。

    但如果你先用R来从事实实在在的数据工作,那么上面两本恐怕不够,还需要这些:

    Modern applied statistics with S:这本书里统计学的理论就讲得比较多了,好处就是你可以用一本书既复习了统计学,又学了R语言。(S/Splus和R的关系就类似于Unix和Linux,所以用S教程学习R,一点问题都没有)。

    Data manipulation with R:这本书实务性很强,它教给你怎么从不同格式的原始数据文件里读取、清洗、转换、整合成高质量的数据。当然和任何一本注重实战的书一样,本书也有丰富的真实数据或模拟数据供你练习。对于真正从事数据处理工作的人来说,这本书的内容非常重要,因为对于任何研究,一项熟练的数据预处理技能可以帮你节省大量的时间和精力。否则,你的研究总是要等待你的数据。

    R Graphics Cookbook:想用R做可视化,就用这本书吧。150多个recipes,足以帮你应付绝大多数类型的数据。以我现在极业余的可视化操作水平来看,R是最容易做出最漂亮的图表的工具了。

    An introduction to statistical learning with application in R:这本书算是著名的the element of statistical learning的姊妹篇,后者更注重统计(机器)学习的模型和算法,而前者所涉及的模型和算法原没有后者全面或深入,但却是用R来学习和应用机器学习的很好的入口。

    A handbook of statistical analysis using R:这本书内容同样非常扎实,很多统计学的学生就是用这本书来学习用R来进行统计建模的。

    2Python

    Think Python,Think Stats,Think Bayes:这是Allen B. Downey写的著名的Think X series三大卷。其实是三本精致的小册子,如果想快速地掌握Python在统计方面的操作,好好阅读这三本书,认真做习题,答案链接在书里有。这三本书学通了,就可以上手用Python进行基本的统计建模了。

    Python For Data Analysis:作者是pandas的主要开发者,也正是Pandas使Python能够像R一样拥有dataframe的功能,能够处理结构比较复杂的数据。这本书其实analysis讲得不多,说成数据处理应该更合适。掌握了这本书,处理各种糟心的数据就问题不大了。

    Introduction to Python for Econometrics, Statistics and Data Analysis:这本书第一章就告诉你要安装Numpy, Scipy, Matplotlib, Pandas, IPython等等。然后接下来的十好几章就是逐一介绍这几个库该怎么用。很全面,但读起来比较枯燥,可以用来当工具书。

    Practical Data Analysis:这本书挺奇葩,貌似很畅销,但作者把内容安排得东一榔头西一棒子,什么都讲一点,但一个都没讲透。这本书可以作为我们学习数据分析的一个索引,看到哪块内容有意思,就顺着它这个藤去摸更多的瓜。

    Python Data Visualization Cookbook:用Python做可视化的教材肯定不少,我看过的也就这一本,觉得还不错。其实这类书差别都不会很大,咬住一本啃下来就是王道。

    3Exploratory Data Analysis 和 Data Visualization

    Exploratory Data Analysis:John Tukey写于1977年的经典老教材,是这一领域的开山之作。如今EDA已经是统计学里的重要一支,但当时还是有很多人对他的工作不屑一顾。可他爱数据,坚信数据可以以一种出人意料的方式呈现出来。正是他的努力,让数据可视化成为一门无比迷人的技术。但这本书不推荐阅读了,内容略过时。要想完整地了解EDA,推荐下一本:

    Exploratory Data Analysis with MATLAB:这本书虽然标题带了个MATLAB,但实际上内容几乎没怎么讲MATLAB,只是每讲一个方法的时候就列出对应的MATALB函数。这本书的重要之处在于,这是我读过的讲EDA最系统的一本书,除了对visualization有不输于John Tucky的讲解外,对于高维的数据集,通过怎样的方法才能让我们从中找到潜在的pattern,这本书也做了详尽的讲解。全书所以案例都有对应的MATALB代码,而且还提供了GUI(图形用户界面)。所以这本书学起来还是相当轻松愉悦的。

    Visualize This:中译本叫“鲜活的数据”,作者是个“超级数据迷”,建立了一个叫http://flowingdata的网页展示他的数据可视化作品,这本书告诉你该选择什么样的可视化工具,然后告诉你怎样visualize关系型数据、时间序列、空间数据等,最后你就可以用数据讲故事了。

    4Machine Learning & Data Mining

    这一块就不多说了,不是因为它不重要,而是因为它太太太重要。所以这一部分就推两本书,都是”世界名著“,都比较难读,需要一点点地啃。这两本书拿下,基本就算是登堂入室了。其实作为机器学习的延伸和深化,概率图模型(PGM)和深度学习(deep learning)同样值得研究,特别是后者现在简直火得不得了。但PGM偏难,啃K.Daphne那本大作实在太烧脑,也没必要,而且在数据领域的应用也不算很广。deep learning目前工业界的步子迈得比学术界的大,各个domain的应用如火如荼,但要有公认的好教材问世则还需时日,所以PGM和deep learning这两块就不荐书了。

    The Element of Statistical Learning:要学机器学习,如果让我只推荐一本书,我就推荐这本巨著。Hastie、Tibshirani、Friedman这三位大牛写书写得太用心了,大厦建得够高够大,结构也非常严谨,而且很有前瞻性,纳入了很多前沿的内容,而不仅仅是一部综述性的教材。(图表也做得非常漂亮,应该是用R语言的ggplot2做的。)这本书注重讲解模型和算法本身,所以需要具备比较扎实的数理基础,啃起这本书来才不会太吃力。事实上掌握模型和算法的原理非常重要。机器学习(统计学习)的库现在已经非常丰富,即使你没有完全搞懂某个模型或算法的原理和过程,只要会用那几个库,机器学习也能做得下去。但你会发现你把数据代进去,效果永远都不好。但是,当你透彻地理解了模型和算法本身,你再调用那几个库的时候,心情是完全不一样的,效果也不一样。

    Data Mining: Concepts and Techniques, by Jiawei Han and Micheline Kamber。数据挖掘的教材汗牛充栋,之所以推荐这本韩家炜爷爷的,是因为虽然他这本书的出发点是应用,但原理上的内容也一点没有落下,内容非常完整。而且紧跟时代,更新的很快,我看过的是第二版,就已经加进去了social network analysis这种当时的前沿内容。现在已经有第三版了,我还没看过,但应该也加入了不少新内容。其实这本书并不难读,只是篇幅较长,啃起来比较耗时。

    其实这两本书里单拎出来一块内容可能又是几本书的节奏,比如bayesian方法,再拿出两三本书来讲也不为过,我个人用到的比较多,而且也确实有不少好书。但并非是所有data scientist都要用到,所以这一块就不再细说。

    还有一些印象比较深刻的书:

    Big Data Glossary:主要讲解大数据处理技术及工具,内容涵盖了NoSQL,MapReduce,Storage,Servers,NLP库与工具包,机器学习工具包,数据可视化工具包,数据清洗,序列化指南等等。总之,是一本辞典式的大数据入门指导。

    Mining of Massive Datasets:这本书是斯坦福大学Web Mining的讲义,里面很多内容与韩家炜的Data Mining那本书重合,但这本书里详细地讲了MapReduce的设计原理,PageRank(Google创业时期的核心排序算法,现在也在不断优化更新)讲解得也比较详细。

    Developing Analytic Talent:作者是个从事了十几年数据工作的geek,技术博客写得很有个人风格,写的内容都比较偏门,通常只有具备相关数据处理经验的人能体会出来,丝毫不照顾初学者的感受。比如他会谈到当数据流更新太快时该怎么办,或者MapReduce在什么时候不好用的问题,才不管你懂不懂相关基础原理。所以这本书不太适合初学者阅读。这本书其实是作者的博客文章的集结,用how to become a data scientist的逻辑把他近几年的博客文章串联了起来。

    Past, Present and Future of Statistical Science:这本书是由COPSS(统计学社主席委员会,由国际各大统计学会的带头人组成)在50周年出版的一本纪念册,里面有50位统计学家每人分别贡献出的一两篇文章,有的回忆了自己当年如何走上统计学这条路,有的探讨了一些统计学的根本问题,有的谈了谈自己在从事的前沿研究,有的则给年轻一代写下了寄语。非常有爱的一本书。

    5其他资料

    Harvard Data Science:这是H大的Data science在线课,我没有修过,但口碑很好。这门课需要费用8千刀左右,比起华盛顿大学的4千刀的Data science在线课虽贵一倍,但比斯坦福的14千刀要便宜将近一半(而且斯坦福的更偏计算机)。如果想自学,早有好心人分享了slides: (https://drive.google/folderview?id=0BxYkKyLxfsNVd0xicUVDS1dIS0k&usp=sharing)和homeworks and solutions: (https://github/cs109/content)。

    PyData:PyData是来自各个domain的用Python做数据的人每年举行一次的聚会,期间会有各路牛人举行一些规模不大的seminar或workshop,有好心人已经把video上传到github,有兴趣的去认领吧(DataTau/datascience-anthology-pydata · GitHub)。

    6工具

    R/Python/MATLAB(必备):如果是做数据分析和模型开发,以我的观察来看,使用这三种工具的最多。R生来就是一个统计学家开发的软件,所做的事也自然围绕统计学展开。MATLAB虽然算不上是个专业的数据分析工具,但因为很多人不是专业做数据的,做数据还是为了自己的domain expertise(特别是科学计算、信号处理等),而MATLAB又是个强大无比的Domain expertise工具,所以很多人也就顺带让MATLAB也承担了数据处理的工作,虽然它有时候显得效率不高。Python虽然不是做数据分析的专业软件,但作为一个面向对象的高级动态语言,其开源的生态使Python拥有无比丰富的库,Numpy, Scipy 实现了矩阵运算/科学计算,相当于实现了MATLAB的功能,Pandas又使Python能够像R一样处理dataframe,scikit-learn又实现了机器学习。

    SQL(必备):虽然现在人们都说传统的关系型数据库如Oracle、MySQL越来越无法适应大数据的发展,但对于很多人来说,他们每天都有处理数据的需要,但可能一辈子都没机会接触TB级的数据。不管怎么说,不论是用关系型还是非关系型数据库,SQL语言是必须要掌握的技能,用什么数据库视具体情况而定。

    MongoDB(可选):目前最受欢迎的非关系型数据库NoSQL之一,不少人认为MongoDB完全可以取代mySQL。确实MongoDB方便易用,扩展性强,Web2.0时代的必需品。

    Hadoop/Spark/Storm(可选):MapReduce是当前最著名也是运用最广泛的分布式计算框架,由Google建立。Hadoop是基于MapReduce的框架建立起来的分布式计算系统,Spark更进一步,在MapReduce的思路上利用有向无环图构建了RDD,这样就减少了Map和Reduce之间传递的数据,所以非常适合反复迭代计算的场景。至于存储方面,他们之间的区别就是,Hadoop用硬盘存储数据,Spark用内存存储数据,Storm只接受实时数据流而不存储数据。

    OpenRefine(可选):Google开发的一个易于操作的数据清洗工具,可以实现一些基本的清洗功能。

    Tableau(可选):一个可交互的数据可视化工具,操作简单,开箱即用。而且图表都设计得非常漂亮。专业版1999美刀,终身使用。媒体和公关方面用得比较多。

    Gephi(可选)ï¼...

  • ?

    关于大数据分析的六个基本方面

    汉克

    展开

    大数据时代的到来,越来越多的人选择学习大数据,那关于大数据分析的六大基本方面是哪些,一起来了解一下

    可视化分析

    不管是对数据分析专家还是普通用户

    数据可视化是数据分析工具最基本的要求

    可视化可以直观的展示数据

    让数据自己说话,让观众听到结果

    数据挖掘算法

    可视化是给人看的,数据挖掘就是给机器看的

    集群、分割、孤立点分析还有其他的算法

    让我们深入数据内部,挖掘价值

    这些算法不仅要处理大数据的量

    也要处理大数据的速度

    预测性分析能力

    数据挖掘可以让分析员更好的理解数据

    而预测性分析可以让分析员根据可视化分析和数据挖掘的结果

    做出一些预测性的判断

    语义引擎

    我们知道由于非结构化数据的多样性带来了数据分析的新的挑战,我们需要一系列的工具去解析,提取,分析数据。语义引擎需要被设计成能够从"文档"中智能提取信息

    数据质量和数据管理

    数据质量和数据管理是一些管理方面的最佳实践

    通过标准化的流程和工具对数据进行处理

    可以保证一个预先定义好的高质量的分析结果

    数据存储,数据仓库

    数据仓库是为了便于多维分析和多角度展示数据按特定模式进行存储所建立起来的关系型数据库。在商业智能系统的设计中,数据仓库的构建是关键,是商业智能系统的基础,承担对业务系统数据整合的任务,为商业智能系统提供数据抽取、转换和加载(ETL),并按主题对数据进行查询和访问,为联机数据分析和数据挖掘提供数据平台

    成都加米谷大数据科技有限公司

    个人培训 丨 企业内训

    成都市高新区天府二街蜀都中心1栋705

  • ?

    经验分享:大数据时代,如何让数据成为资产

    於夜雪

    展开

    数据飞速增长的今天,生活在大数据的压力下,从事大数据行业的你,该如何更好地自处?

    今天小编给大家分享一篇经验帖,希望能够给你带来帮助!

    作者从从大数据开发的角度,到大数据治理的必要性,再到图形化建模的畅想,最后在数据质量的把关,然后到大数据可视化的应用,总结他的所见所闻以及他的学习的成果,分享给大家。

    大数据开发

    大数据开发,有几个阶段:

    1.数据采集【原始数据】

    2.数据汇聚【经过清洗合并的可用数据】

    3.数据转换和映射【经过分类,提取的专项主题数据】

    4.数据应用 【提供api 智能系统 应用系统等】

    数据采集

    数据采集有线上和线下两种方式,线上一般通过爬虫、通过抓取,或者通过已有应用系统的采集,在这个阶段,我们可以做一个大数据采集平台,依托自动爬虫(使用python或者nodejs制作爬虫软件),ETL工具、或者自定义的抽取转换引擎,从文件中、数据库中、网页中专项爬取数据,如果这一步通过自动化系统来做的话,可以很方便的管理所有的原始数据,并且从数据的开始对数据进行标签采集,可以规范开发人员的工作。并且目标数据源可以更方便地管理。

    数据采集的难点在于多数据源,例如mysql、postgresql、sqlserver 、 mongodb 、sqllite。还有本地文件、excel统计文档、甚至是doc文件。如何将他们规整的、有方案的整理进我们的大数据流程中也是必不可缺的一环。

    数据汇聚

    数据的汇聚是大数据流程最关键的一步,你可以在这里加上数据标准化,你也可以在这里做数据清洗,数据合并,还可以在这一步将数据存档,将确认可用的数据经过可监控的流程进行整理归类,这里产出的所有数据就是整个公司的数据资产了,到了一定的量就是一笔固定资产。

    数据汇聚的难点在于如何标准化数据,例如表名标准化,表的标签分类,表的用途,数据的量,是否有数据增量?,数据是否可用? 需要在业务上下很大的功夫,必要时还要引入智能化处理,例如根据内容训练结果自动打标签,自动分配推荐表名、表字段名等。还有如何从原始数据中导入数据等。

    数据转换和映射

    经过数据汇聚的数据资产如何提供给具体的使用方使用?在这一步,主要就是考虑数据如何应用,如何将两个?三个?数据表转换成一张能够提供服务的数据。然后定期更新增量。

    经过前面的那几步,在这一步难点并不太多了,如何转换数据与如何清洗数据、标准数据无二,将两个字段的值转换成一个字段,或者根据多个可用表统计出一张图表数据等等。

    数据应用

    数据的应用方式很多,有对外的、有对内的,如果拥有了前期的大量数据资产,通过restful API提供给用户?或者提供流式引擎 KAFKA 给应用消费? 或者直接组成专题数据,供自己的应用查询?这里对数据资产的要求比较高,所以前期的工作做好了,这里的自由度很高。

    大数据治理

    大数据治理应该贯穿整个大数据开发流程,它有扮演着重要的角色,浅略的介绍几点:

    数据血缘

    数据质量审查

    全平台监控

    数据血缘

    从数据血缘说起,数据血缘应该是大数据治理的入口,通过一张表,能够清晰看见它的来龙去脉,字段的拆分,清洗过程,表的流转,数据的量的变化,都应该从数据血缘出发,我个人认为,大数据治理整个的目标就是这个数据血缘,从数据血缘能够有监控全局的能力。

    数据血缘是依托于大数据开发过程的,它包围着整个大数据开发过程,每一步开发的历史,数据导入的历史,都应该有相应的记录,数据血缘在数据资产有一定规模时,基本必不可少。

    数据质量审查

    数据开发中,每一个模型(表)创建的结束,都应该有一个数据质量审查的过程,在体系大的环境中,还应该在关键步骤添加审批,例如在数据转换和映射这一步,涉及到客户的数据提供,应该建立一个完善的数据质量审查制度,帮助企业第一时间发现数据存在的问题,在数据发生问题时也能第一时间看到问题的所在,并从根源解决问题,而不是盲目的通过连接数据库一遍一遍的查询sql。

    全平台监控

    监控呢,其实包含了很多的点,例如应用监控,数据监控,预警系统,工单系统等,对我们接管的每个数据源、数据表都需要做到实时监控,一旦发生殆机,或者发生停电,能够第一时间电话或者短信通知到具体负责人,这里可以借鉴一些自动化运维平台的经验的,监控约等于运维,好的监控提供的数据资产的保护也是很重要的。

    大数据可视化

    大数据可视化不仅仅是图表的展现,大数据可视化不仅仅是图表的展现,大数据可视化不仅仅是图表的展现,重要的事说三遍,大数据可视化归类的数据开发中,有一部分属于应用类,有一部分属于开发类。

    在开发中,大数据可视化扮演的是可视化操作的角色, 如何通过可视化的模式建立模型? 如何通过拖拉拽,或者立体操作来实现数据质量的可操作性? 画两个表格加几个按钮实现复杂的操作流程是不现实的。

    在可视化应用中,更多的也有如何转换数据,如何展示数据,图表是其中的一部分,平时更多的工作还是对数据的分析,怎么样更直观的表达数据?这需要对数据有深刻的理解,对业务有深刻的理解,才能做出合适的可视化应用。

    智能的可视化平台

    可视化是可以被再可视化的,例如superset,通过操作sql实现图表,有一些产品甚至能做到根据数据的内容智能分类,推荐图表类型,实时的进行可视化开发,这样的功能才是可视化现有的发展方向,我们需要大量的可视化内容来对公司发生产出,例如服装行业,销售部门:进货出货,颜色搭配对用户的影响,季节对选择的影响 生产部门:布料价格走势? 产能和效率的数据统计? 等等,每一个部门都可以有一个数据大屏,可以通过平台任意规划自己的大屏,所有人每天能够关注到自己的领域动向,这才是大数据可视化应用的具体意义。

    总结:大数据开发的难点

    大数据开发的难点主要是监控,怎么样规划开发人员的工作?开发人员随随便便采集了一堆垃圾数据,并且直连数据库。 短期来看,这些问题比较小,可以矫正。 但是在资产的量不断增加的时候,这就是一颗定时炸弹,随时会引爆,然后引发一系列对数据资产的影响,例如数据混乱带来的就是数据资产的价值下降,客户信任度变低。

    如何监控开发人员的开发流程?

    答案只能是自动化平台,只有自动化平台能够做到让开发人员感到舒心的同时,接受新的事务,抛弃手动时代。

    这就是前端开发工程师在大数据行业中所占有的优势点,如何制作交互良好的可视化操作界面?如何将现有的工作流程、工作需求变成一个个的可视化操作界面? 可不可以使用智能化取代一些无脑的操作?

    从一定意义上来说,大数据开发中,我个人认为前端开发工程师占据着更重要的位置,仅次于大数据开发工程师。至于后台开发,系统开发是第三位的。好的交互至关重要,如何转换数据,如何抽取数据,一定程度上,都是有先人踩过的坑,例如kettle,再例如kafka,pipeline ,解决方案众多。关键是如何交互? 怎么样变现为可视化界面? 这是一个重要的课题。

    现有的各位朋友的侧重点不同,认为前端的角色都是可有可无,我觉得是错误的,后台的确很重要,但是后台的解决方案多。 前端实际的地位更重要,但是基本无开源的解决方案,如果不够重视前端开发, 面临的问题就是交互很烂,界面烂,体验差,导致开发人员的排斥,而可视化这块的知识点众多,对开发人员的素质要求更高。

    OK,分享结束,小本本记满了木有?

    作者:张泰峰

  • ?

    18年大数据经验,“工业界阿里”告诉你互联网时代这样才能活

    资擎汉

    展开

    财经·商业·人物

    “大数据发展日新月异,我们应该审时度势、精心谋划、超前布局、力争主动”。日前,中共中央政治局就实施国家大数据战略进行第二次集体学习。在主持学习时,深刻分析大数据发展现状和趋势,结合我国实际对实施国家大数据战略、加快建设数字中国作出部署要求。大数据成为新的创新密码,正对中国、乃至全球的经济发展起着重要作用。在这个数字化高速发展过程中,物理世界与数字世界的深度融合,将给企业带来颠覆性的变化。

    ▲朗坤智慧科技董事长武爱斌

    企业如何在大数据时代中更好的立足?有着十八年大数据核心技术研发经验的朗坤智慧科技股份有限公司董事长武爱斌指出,企业大数据建设中有三大难题是目前亟待解决的:“老大难”,专业人才缺失,信息孤岛和数据烟囱。所谓“老大难”,意即“老大一抓就不难”,许多企业的老大不是大数据行业出身,或者对大数据没有太多了解,因此对企业信息化,大数据建设重视不够;大数据专业人才缺失。信息化建设过程中,许多人才都是业务高手,但没有信息化总工和CIO(首席信息官)来做大数据的顶层设计;各个部门的数据各自为营,行政部做一套数据系统,销售部做另外一套数据系统……形成了一个个信息孤岛和数据烟囱,企业内部的数据没有实现共享,更无法挖掘数据本身蕴藏的巨大价值。

    对于企业大数据建设问题,武爱斌举了一个有趣的比喻:一个孩子感冒了,如果缺失两个关键数据,病就很难治好。第一个关键数据是病因,比如引起孩子感冒的原因是因为衣服穿的太少受凉了,还是小孩自身体质弱?找到病因,才能对症下药。第二个关键的数据是治病的过程数据。比如孩子感冒在服药的过程中,关于药的品种、药的剂量、服药的时间等等对比孩子的身体恢复情况,都需要有数据。这个数据一旦缺失,就是“眉毛胡子一把抓”,不但药的功能得不到最大发挥,还有可能伤了身体,得不偿失。企业也是如此,当企业的数据无法贯通,就会产生梗阻,自然也无法溯源,准确率就会大大降低。

    武爱斌给我们举了一个能源行业的例子,能源行业中有设计数据、建设数据、运营数据、维护数据等等。朗坤会从这些数据中找出最佳点,令设计方案最优,工程项目建设的造价最低,设备出现维修故障率最小,实际上,未经加工处理的大数据就是“数据大”而已,要在分析的过程中掌握数据的规律,挖掘数据当中的价值,最后把这套规则用软件固化,构成一个数据管理系统。

    “以终为始,不忘初心。一定要知道大数据的目的,我们再来抽丝拨茧、追本溯源,进而建立模型,最大化挖掘和利用数据价值。”武爱斌说。

    事实上,创立于1999年的朗坤智慧一直在致力于用数字化手段改善城市、园区及工厂的管理绩效,为企业大数据建设和数字化转型提供一系列整体解决方案。

    数据是企业的核心资产

    利用数据作为决策不是现代人的专利,古人也会用数据作为决策依据。早在上古时代,就将满天星斗划分成群为它们取名,到了三国时期,由天文学家陈卓统一全天星官,形成了以“三垣二十八宿”为代表的中国传统星官体系,传承至今保存最完整的是天文学家在宋代皇佑年间(1052年)所观测的恒星数据,他们利用观象数据进行守时、制历、星占、择日等活动。这些都是朦胧的数据意识。到了数字化时代,数据羽化了边界,把人与人、人与物、生活与工作、生产与消费的界限逐渐消融。人们在连接、体验、交互的过程中共同为彼此创造着价值。对大数据的结构化分析、洞察以及动态价值创造能力将成为企业的核心竞争力之一。

    朗坤在成立之初就清晰地提出了“运用数字化手段提高企业绩效”的价值理念,今天来看,这就是大数据的另外一种诠释,与智能制造和“中国制造2025”的精髓也是内在一致。18年来,他们累积了非常厚实的工业大数据资源和技术沉淀。特别是作为大数据的“仓库”—实时数据库方向,朗坤的技术达到了国际一流水平。实际上,在实时数据库领域,国内市场曾长期被国外品牌占领。2008年,时任工信部副部长的娄勤俭(现任江苏省委书记)为此事曾专门来到朗坤调研,并希望朗坤早日实现进口替代。2009年,在娄勤俭的亲自推动下,朗坤作为国家大型通用实时数据库核心技术提供方,参与了省部合作,承担了国家“核高基”科技重大专项,一举打破了“洋品牌”垄断格局,成功实现了进口替代。

    共享大数据才能获得更多价值

    围绕实现制造强国的战略目标,早在2015年,国务院就出台了《中国制造2025》,智能制造成为这一国家战略的主攻方向。在智能制造时代,数据是核心,不夸张地讲,大数据是提高制造业生产能力和创新能力的关键要素。朗坤认为,用户与企业之间不能是简单的甲乙方关系,而应该在一个平台上交换数据,根据用户的需求调整方案,如此一来,才能把管理和IT高度融合一起,帮助用户真正提升效率,往行业最优方向做引导。

    从帮助企业转型的角度而言,大数据的存在是使得企业在转型中减少浪费,提高效率,减轻管理者的压力,能够帮助该企业建立数据平台。假设现在你要做一个化工厂,想要增加员工人数、提高产能、提高产品价格、降低成本。朗坤的做法是把行业内的样板工程,其他企业的管理经验提供给该企业,让它经历一个模仿学习和创新的过程。而当它自己的工厂发展起来,数据平台建立后,它可以将这个数据平台与同行共享,事实上它就获得了更多的数据。这也使它从一个单纯的生产化工原料厂商变成一个与同行“共建、共享、共赢”人才、物流、管理、客户的行业资源整合者。 “大数据的建设要大,汇聚的数据要全,才会实现平台共享的概念,有了这样的一些大数据以后,用户才能发现规律,让这个平台真正发挥价值。”武爱斌说。

    遵循着合作共赢的理念,朗坤在不断地探索用数据为客户创造价值。武爱斌诙谐的说,这就是“我帮你赚100块我就收1块钱的工资”。在这个平台,一批管理咨询专家为用户先“把脉”,再对症下药。这不是一个简单的事情,在服务的过程中,不仅需要了解客户需求,还需要明确行业发展趋势,预见产品趋势。“比如说你帮用户做一个物流管理,他可能现在都是公路,但是你要预见到,他这个地方有没有修水路,有没有可能修铁路,有没有修机场的可能性”。

    10月10日上午,备受瞩目的朗坤智慧园,在南京江宁正式开园。这是一个“互联网+”模式的智慧小岛,朗坤希望将它打造成智能制造和中国制造2025的前沿科技展示中心,让每一位来访的政府官员、园区经营者、企业管理者都能在这个园区里找到智慧化解决方案。

    “推动智能制造的并不是大数据本身,而是大数据的分析技术,未来朗坤要从建设者转型为运营商,运用大数据为智能制造赋能”。武爱斌说。

大数据经验

所有视频需要登录后,才能观看

请先登录您的帐号,即可完整播放,如果您尚未注册帐号,请先点击注册。

img

在线咨询

建站在线咨询

img

微信咨询

扫一扫添加
动力姐姐微信

img
img

TOP