如何进行数据采集以及数据分析？
问题虽然非常笼统，但还是可以简单说一说这两块的大体框架与思路：数据采集首先，我们都是大数据分析技术总共就四个步骤：数据采集、数据存储、数据分析、数据挖掘，一般来说广义上的数据采集可以分为采集和预处理两个部分，这里说的就只是狭隘的数据采集。我们进行数据采集的目的就是解决数据孤岛，不管你是结构化的数据、还是非结构化的，没有数据采集，这些各种来源的数据就只能是互相独立的，没有什么意义。数据采集就是将这些数据写入数据仓库中，把零散的数据整合在一起，然后才能对这些数据综合分析。根据数据来源进行分类，数据采集可以大体三类：系统文件日志的采集、网络大数据采集、应用程序接入。下面我们一个一个来看。1、系统文件日志的采集：很多互联网企业都有自己的海量数据采集工具，多用于系统日志采集，如Hadoop的Chukwa，Cloudera的Flume，Facebook的Scribe等，这些工具均采用分布式架构，能满足每秒数百MB的日志数据采集和传输需求。比如Scribe，它是Facebook开源的日志收集系统，可以从各种日志源上收集日志，存储到一个中央存储系统上，以便于进行集中的统计分析处理。Scribe为日志的“分布式收集，统一处理”提供了一个可扩展的、高容错的方案。（老师收学生信息表，需要班长代理收集的例子）。再比如，Chukwa提供了一个对大数据量日志类数据采集、存储、分析和展示的全套解决方案和框架，可以用于监控大规模Hadoop集群的整体运行情况并对它们的日志进行分析（相当于学校内无死角的监控摄像头）。2、网络大数据采集这一点就是我们经常熟知的网路爬虫，理论上讲，网络数据采集是指通过网络爬虫或网站公开API等方式从网站上获取数据信息。该方法可以将非结构化数据从网页中抽取出来，将其存储为统一的本地数据文件，并以结构化的方式存储。它支持图片、音频、视频等文件或附件的采集，附件与正文可以自动关联。在互联网时代，网络爬虫主要是为搜索引擎提供最全面和最新的数据。目前已经知道的各种网络爬虫工具已经有上百个，网络爬虫工具基本可以分为3 类。分布式网络爬虫工具，如 Nutch。Java 网络爬虫工具，如 Crawler4j、WebMagic、WebCollector。非 Java网络爬虫工具，如 Scrapy(基于 Python语言开发)。3、软件接口方式需要各系统的提供厂商提供数据接口，才能实现数据采集汇聚。实现过程：协调多方软件厂商工程师到场，了解所有系统业务流程以及数据库相关的表结构设计等，细节推敲，确定可行性方案；编码测试、调试阶段交付使用接口对接方式的数据可靠性与价值较高，一般不存在数据重复的情况；数据可通过接口实时传输，满足数据实时应用要求。但是接口开发费用高；需协调多个软件厂商，工作量大且容易烂尾；可扩展性不高，如：由于新业务需要各软件系统开发出新的业务模块，其和大数据平台之间的数据接口也需做相应修改和变动，甚至要推翻以前的所有数据接口编码，工作量大、耗时长。数据分析数据分析也是相当大的一个概念，狭义上讲是一个检查、清理、转换和建模数据的过程，目的是发现有用的信息，得出结论和推动决策制定。一般的流程可以分为以下几步：明确分析目的→梳理业务形成分析思路→搭建分析指标体系→收集数据→处理数据→制作分析模板→可视化管理。1、明确分析目的&梳理业务分析要有目的有方向。是对现在面对的某个问题分析，还是梳理整体的业务现状，抑或是对未来某个指标的预测监控。简单来讲，就是解惑、监控、预测，目的是提效、增益。明确目的后，需要梳理思路，怎么梳理？如果是分析近一个月销售额普遍下降的原因点，就要从下至上，还原整个事情进展的过程。购买环节涉及成交量、客单价和折扣率，然后还要分各类产品；浏览环节涉及浏览量、PV/UV；用户维度还有流失率、活跃度、复购率等等，把分析目的分解成若干个不同的分析要点，然后针对每个分析要点确定分析方法和具体分析指标。2、搭建分析指标体系搭建分析指标体系就是分析整个“体”，将分析框架的体系化，明确每个点都是什么指标，任何一个分析路径都能对应到指标（当然现实是不会有这么完美的体系的）。以电商为例，遵循“人货场”的思维逻辑。常用的业务分析场景有销售、商品、渠道、竞品、会员等等，而商品可进一步细分为商品的库存、商品的利润以及关联销售分析。在整个业务分析体系中，确保体系化，即先分析什么，后分析什么，使得各个分析点之间具有逻辑联系，使分析结果具有说服力。3、如何取数？SQL是最基本的数据库语言，无论从什么数据库、数据仓库、大数据平台取数，都需要掌握。Hive和Spark都是基于大数据的，Hive可以将结构化的数据文件映射为一张数据库表，通过类SQL语句快速实现简单的MapReduce统计。4、清洗和处理数据原始数据来自于各个业务系统，指标口径对不上，总会出现不一致、重复、不完整（感兴趣的属性没有值）、存在错误或异常（偏离期望值）的数据。这些都可以通过数据清洗：去掉噪声和无关数据数据集成：将多个数据源中的数据结合起来存放在一个一致的数据存储中数据变换：把原始数据转换成为适合数据挖掘的形式数据归约：数据立方体聚集，维归约，数据压缩，数值归约，离散化和概念分层等5、制作模板&可视化展示分析模板多用excel或者报表工具。如果业务部分有设立数据分析岗或者集团有特定的数据中心团队，会通过搭建BI平台来完成针对性的业务分析，如FineBI。FineBI使用常规Excel或者传统报表工具，可以将做成的图表贴至PPT中，涉及Excel的高级功能，就需要学习VBA和数据透视表，但Excel适合已经处理好的成品数据。一旦涉及大数据量或频繁链接数据库，一些带有接口的数据可视化工具或报表工具就比较适合。最后，再说几个数据分析的思路简单趋势通过实时访问趋势了解供应商及时交货情况。如产品类型，供应商区域（交通因子），采购额，采购额对供应商占比。多维分解根据分析需要，从多维度对指标进行分解。例如产品采购金额、供应商规模（需量化）、产品复杂程度等等维度。转化漏斗按照已知的转化路径，借助漏斗模型分析总体和每一步的转化情况。常见的转化情境有不同供应商及时交货率趋势等。用户分群在精细化分析中，常常需要对有某个特定行为的供应商群组进行分析和比对；数据分析需要将多维度和多指标作为分群条件，有针对性地优化供应链，提升供应链稳定性。细查路径数据分析可以观察供应商的行为轨迹，探索供应商与本公司的交互过程；进而从中发现问题、激发灵感亦或验证假设。留存分析留存分析是探索用户行为与回访之间的关联。一般我们讲的留存率，是指“新新供应商”在一段时间内“重复行为”的比例。通过分析不同供应商群组的留存差异、使用过不同功能供应商的留存差异来找到供应链的优化点。A/B测试A/B测试就是同时进行多个方案并行测试，但是每个方案仅有一个变量不同；然后以某种规则优胜略汰选择最优的方案。数据分析需要在这个过程中选择合理的分组样本、监测数据指标、事后数据分析和不同方案评估。