中企动力 > 商学院 > 大数据分析是
  • ?

    史上最全大数据分析和制作工具

    采花贼

    展开

    以下是一些用于大数据分析的“必备神器”,其中很多功能非常强大的,希望大家能从中找到对自己有帮助的工具。全选地址,拷贝到浏览器中,即可。

    01

    微信大数据分析工具

    新媒体指数:http://gsdata

    02

    数据可视化工具

    百度ECharts:http://echarts.baidu/

    Cytoscape:http://cytoscape.org/

    图表秀:http://tubiaoxiu/

    数据观:http://shujuguan/

    微博足迹可视化:http://vis.pku.edu/weibova/weibogeo_footprint/index.html

    BDP个人版:https://me.bdp/home.html

    ICHarts:http://icharts.in/

    魔镜:http://moojnn/

    03

    词频分析工具

    Rost:http://cncrk/downinfo/54638.html

    图悦:http://picdata/

    语义分析系统:http://ictclas.nlpir.org/nlpir/

    Tagul:https://tagul/

    腾讯文智:http://nlp.qq/semantic.cgi

    Tagxedo词云:http://tagxedo/

    04

    舆情分析工具

    清博舆情系统:http://yuqing.gsdata/

    云相:http://weidata/

    05

    PPT模板工具

    我图网:http://so.ooopic/

    51PPT模板:http://51pptmoban/ppt/

    无忧PPT:http://51ppt/

    第1PPT:http://1ppt/

    站长之家:http://sc.chinaz/ppt/

    设计师网址导航:http://userinterface/

    06

    互联网趋势分析工具

    微博指数:http://data.weibo/index

    百度指数:http://index.baidu/

    好搜指数:http://index.so/#index

    搜狗指数:http://zhishu.sogou/

    百度预测:http://trends.baidu/

    07

    在线调查工具

    腾讯问卷调查:http://wj.qq/

    麦客:http://mikecrm/

    ICTR:http://cn2.ictr/

    问道网:http://askform/

    问卷星:http://sojump/

    调查派:http://diaochapai/

    问卷网:http://wenjuan/

    SurveyMonkey:https://zh.surveymonkey/

    08

    网站分析监测工具

    H5传播分析工具:http://chuanbo.datastory/

    百度统计:http://tongji.baidu/web/welcome/login

    腾讯云分析:http://mta.qq/

    51.la:http://51.la/

    09

    社交媒体监测工具

    孔明社会化媒体管理:http://kmsocial/

    企业微博管理中心:http://e.weibo/

    知乎用户深度分析:http://kanzhihu/useranalysis

    10

    其他数据网站

    媒体微博排行榜:http://v6.bang.weibo/xmt

    友盟:http://umeng/

    中国新闻地图:http://vis.360/open/cnnews/

    中国票房榜:http://cbooo/

    收视率排行:http://tvtv.hk/archives/category/tv

    农业大数据云平台:http://dataagri/agriculture/gis.action

    房价指数:http://industry.fang/data/datacenter.aspx

    中国统计局:http://data.stats.gov/

    中国主要城市拥堵排名:http://report.amap/traffic/

    中国综合社会调查:http://chinagss.org/

    中国P2P网贷指数:http://p2p001/wdzs/wdzs_p2pline.html

    Alexa:http://alexa/

    易车汽车指数:http://index.bitauto/

    旅游预测:http://trends.baidu/tour/

    以上就是给大家推荐的一些用于数据分析的“必备神器”,其中很多工具是亲测过认为非常强大的,希望大家能从中找到对自己有帮助的工具。

  • ?

    大数据分析之多维数据分析入门

    彭澜

    展开

    阅读本文不需要技术背景。

    总体介绍

    首先模拟一个数据分析场景,某企业积累了如下表格所示的销售数据:

    产品销售数据表

    表格中每一行表示某个时间段内某种商品在某个地区的销售情况。很明显,这些数据涉及到了时间、地区、产品三个业务角度。

    在对这样的数据进行分析时,不同的角色都会基于自己所感兴趣的业务角度提出问题

    销售经理关心各个地区的销售情况,希望找出销售增长率在平均水平之下的地区产品总监则希望了解近期内各种产品的销量对比,以作为后期产品研发方向的参考CEO想要知道近六个月内整体销售环比信息,用以评估是否达到公司运营目标

    对于表格中的数据,可以将其转换为另一种数据格式 - "三维空间立方体",如下图所示:

    图 1 - 数据立方体

    相对于表格,以三维立方体形式呈现的数据结构更加直观。

    在这个数据立方体中,每一个坐标轴都代表一个业务角度(时间、地区、产品),坐标轴上的坐标值则表示了某个业务角度的一个确定的值(如:北京市、3月份、手机),不同坐标轴坐标值的交叉点则表示一个具体的销售额。

    实际上,此数据立方体中表示业务角度的坐标轴就是维度,类似于三维立方体的数据结构则被称为多维数据结构(也称数据立方体)。

    再次回顾前文中销售经理、产品总监、CEO各自提出的问题,不难发现他们各自所关注的维度分别为:地区、产品、时间

    图 2 - 不同角色关注不同维度

    目前我们所模拟的这个数据分析场景较为特殊,因为只有三个维度,所以可以直观的将数据想象成一个三维立方体。

    实际情况中,企业进行数据分析时往往要参考更多的维度,而且提出的问题也会更加复杂,此时,已经不能将数据以经典的三维立方体结构进行呈现。

    虽然无法在三维空间中呈现更多维度的数据结构,但是面对更多维度时进行数据分析的思路却完全不变,不同的角色只需要从自身所关注的维度出发并提出问题即可,他们即不需要了解十几甚至几十维的数据如何存储,也无需考虑多维数据查询的具体实现方式。

    核心概念简介

    在多维数据分析领域中,有几个非常重要的核心概念:

    数据立方体(Cube)维度(Dimension)成员(Member),又称维度成员(Dimension Member)度量(Measure)级别(Level)

    图 3 - 多维数据模型

    维度(Dimension)

    图 4 - 维度

    维度就是描述数据的业务角度。在不同的数据分析场景中,会存在若干个不同的维度。

    以上图为例,存在三个维度:时间、地区、产品。在这个数据分析场景中,“哪种产品销量最好?”这样的问题显然主要关注的是产品这个维度,而“哪些地区连续六个月销售额环比增长?”则同时关注了地区和日期两个维度。

    在一个多维数结构中,维度可以被抽象理解成一个坐标轴,图1中所示的数据分析场景由三个维度组成,每个维度各自代表了三维空间中的一个坐标轴。

    相对于三维空间,具有更多维度的空间结构显然不易于被理解,实际上,您并不需要在头脑中想象出一个更多维度的空间场景,下文中几个简单的步骤将帮助您快速理解多维空间结构:

    【理解一维空间结构】

    图 5 - 一维空间图

    一维空间是一把尺子,只有一个坐标轴,坐标轴上的一个坐标值就能确定一个点

    【理解二维空间结构】

    图 6 - 二维空间图

    二维空间是一个平面,具有两个坐标轴,不同坐标轴上的两个坐标值确定一个点

    【理解三维空间结构】

    图 7 - 三维空间图

    三维空间具有长、宽、高三个坐标轴,三个坐标轴坐标值确定一个点

    【理解四维空间结构】

    四维空间比三维空间多出一个坐标轴,这里我们称这个新的坐标轴为“第四坐标轴”,现在如果需要确定一个点,除了长、宽、高三个轴上的坐标值外,还需要第四坐标轴上的一个坐标值

    【理解N维空间结构】

    N(N可以是大于零的任意整数)维空间中具有N个坐标轴,需要N个不同坐标轴上的坐标值才能确定一个点

    维度成员(Dimension Member)

    前文介绍维度概念时,讲到可将维度理解成表示某种业务角度的坐标轴,而维度成员则非常类似于维度坐标轴上的坐标值。

    以时间维度为例,“一季度”、“1月份”、“2月份”这三个维度成员同属于时间维度,它们各自表示了时间维度下一个具体的时间段。

    由下图可以看出,同一个维度下的维度成员呈现出树状结构,我们将没有子级成员的成员称为明细成员(Leaf Member,又称明细维度成员Leaf Dimension Member),其他成员称为非明细成员。

    图 8 - 明细成员与非明细成员

    数据立方体(Cube)

    数据立方体表示由若干个维度所描述的一个数据集合,每个维度各自表示一个可对此数据集合进行观察和分析的业务角度。

    图 9 - Cube(数据立方体)

    之所以称为“立方体”,是因为由三个维度所描述的一个数据集,能够非常轻松的被想象成三维空间中的一个立方体结构。

    需要注意的是,在多维数据分析体系中,一个数据立方体往往具有更多的维度,虽然更多维度形态并不像三维空间立方体那样直观,但维度表示某些业务角度的作用不会改变。

    度量(Measure)

    图 10 - 度量值

    在一个数据立方体中,从每个维度上都选取一个确定的维度成员,这些维度成员组合所确定的一个点就是度量值。

    在图 10示例中,日期维度:1月份、地区维度:河北省、产品维度:手机确定了一个最细粒度的数据方块,这个小数据方块(下文称为Data Cell)就是销售额6688这个度量值,显然,这表示“河北地区1月份手机产品的销售额是6688”。

    如果仔细观察图 10,您可能会发现并没有一个Data Cell能够直接表示“北京市一季度手机产品的销售额”。由于一季度与1、2、3三个月份是父子级的关系,所以“北京市一季度手机产品的销售额”可以通过汇总计算得到,如下图所示:

    图 11 - 度量值汇总

    一般情况下,数据立方体中并不直接存储非明细成员所描述的度量值,而是通过对其后代成员中的全部明细成员进行汇总计算而得出。

    级别(Level)

    级别表示维度成员所描述业务角度的细节程度,也可理解为通过维度成员观察数据的粒度。例如日期维度中一季度、1月这两个成员,分别属于季度、月份两个不同的级别,显而易见,季度级别的维度成员描述数据的粒度较为宽泛,月级别则较为细致。

    图 12 - Level(级别)

  • ?

    干货 | 这是一份完整的大数据处理技术总结与分析

    廖忆安

    展开

    一 数据分析处理需求分类

    1 事务型处理

    在我们实际生活中,事务型数据处理需求非常常见,例如:淘宝网站交易系统、12306网站火车票交易系统、超市POS系统等都属于事务型数据处理系统。

    这类系统数据处理特点包括以下几点:

    一是事务处理型操作都是细粒度操作,每次事务处理涉及数据量都很小。

    二是计算相对简单,一般只有少数几步操作组成,比如修改某行的某列;

    三是事务型处理操作涉及数据的增、删、改、查,对事务完整性和数据一致性要求非常高。

    四是事务性操作都是实时交互式操作,至少能在几秒内执行完成;

    五是基于以上特点,索引是支撑事务型处理一个非常重要的技术。

    在数据量和并发交易量不大情况下,一般依托单机版关系型数据库,例如ORACLE、MYSQL、SQLSERVER,再加数据复制(DataGurad、 RMAN、MySQL数据复制等)等高可用措施即可满足业务需求。

    在数据量和并发交易量增加情况下,一般可以采用ORALCE RAC集群方式或者是通过硬件升级(采用小型机、大型机等,如银行系统、运营商计费系统、证卷系统)来支撑。

    事务型操作在淘宝、12306等互联网企业中,由于数据量大、访问并发量高,必然采用分布式技术来应对,这样就带来了分布式事务处理问题,而分布式事务处理很难做到高效,因此一般采用根据业务应用特点来开发专用的系统来解决本问题。

    2 数据统计分析

    数据统计主要是被各类企业通过分析自己的销售记录等企业日常的运营数据,以辅助企业管理层来进行运营决策。典型的使用场景有:周报表、月报表等固定时间提供给领导的各类统计报表;市场营销部门,通过各种维度组合进行统计分析,以制定相应的营销策略等。

    数据统计分析特点包括以下几点:

    一是数据统计一般涉及大量数据的聚合运算,每次统计涉及数据量会比较大。

    二是数据统计分析计算相对复杂,例如会涉及大量goupby、 子查询、嵌套查询、窗口函数、聚合函数、排序等;有些复杂统计可能需要编写SQL脚本才能实现。

    三是数据统计分析实时性相对没有事务型操作要求高。但除固定报表外,目前越来越多的用户希望能做做到交互式实时统计;

    传统的数据统计分析主要采用基于MPP并行数据库的数据仓库技术。主要采用维度模型,通过预计算等方法,把数据整理成适合统计分析的结构来实现高性能的数据统计分析,以支持可以通过下钻和上卷操作,实现各种维度组合以及各种粒度的统计分析。

    另外目前在数据统计分析领域,为了满足交互式统计分析需求,基于内存计算的数据库仓库系统也成为一个发展趋势,例如SAP的HANA平台。

    3 数据挖掘

    数据挖掘主要是根据商业目标,采用数据挖掘算法自动从海量数据中发现隐含在海量数据中的规律和知识。

    数据挖掘主要过程是:根据分析挖掘目标,从数据库中把数据提取出来,然后经过ETL组织成适合分析挖掘算法使用宽表,然后利用数据挖掘软件进行挖掘。传统的数据挖掘软件,一般只能支持在单机上进行小规模数据处理,受此限制传统数据分析挖掘一般会采用抽样方式来减少数据分析规模。

    数据挖掘的计算复杂度和灵活度远远超过前两类需求。一是由于数据挖掘问题开放性,导致数据挖掘会涉及大量衍生变量计算,衍生变量多变导致数据预处理计算复杂性;二是很多数据挖掘算法本身就比较复杂,计算量就很大,特别是大量机器学习算法,都是迭代计算,需要通过多次迭代来求最优解,例如K-means聚类算法、PageRank算法等。

    因此总体来讲,数据分析挖掘的特点是:

    1、数据挖掘的整个计算更复杂,一般是由多个步骤组成计算流,多个计算步骤之间存在数据交换,也就是会产生大量中间结果,难以用一条sql语句来表达。

    2、计算应该能够非常灵活表达,很多需要利用高级语言编程实现。

    二 大数据背景下事务型处理系统相关技术

    在google、facebook、taobao等大互联网公司出现之后,这些公司注册和在线用户数量都非长大,因此该公司交易系统需要解决“海量数据+高并发+数据一致性+高可用性”的问题。

    为了解决该问题,从目前资料来看,其实没有一个通用的解决方案,各大公司都会根据自己业务特点定制开发相应的系统,但是常用的思路主要包括以下几点:

    (1)数据库分片,结合业务和数据特点将数据分布在多台机器上。

    (2)利用缓存等机制,尽量利用内存,解决高并发时遇到的随机IO效率问题。

    (3)结合数据复制等技术实现读写分离,以及提高系统可用性。

    (4)大量采用异步处理机制,对应高并发冲击。

    (5)根据实际业务需求,尽量避免分布式事务。

    1相关系统介绍

    1) 阿里CORBAR系统

    阿里COBAR系统是一个基于MYSQL数据库的分布式数据库系统,属于基于分布式数据库中间件的分布式数据库系统。该系统是前身是陈思儒开发的“变形虫”系统(以前调研过),由于陈思儒离开阿里去了盛大,阿里当心“变形虫”稳定性等问题,重新开发该项目。

    该系统主要采用数据库分片思路,实现了:数据拆分、读写分离、复制等功能。由于此系统由于只需要满足事务型操作即可,因此相对真正并行数据库集群(例如TeraData等),此类系统提供操作没有也不需要提供一些复杂跨库处理,因此该系统存在以下限制:

    (1)不支持跨库的join、分页、排序、子查询。

    (2)insert等变更语句必须包括拆分字段等。

    (3)应该不支持跨机事务(以前变形虫不支持)。

    说白了此类系统不具备并行计算能力,基本上相当于数据库路由器!

    另外此类系统的在实际应用的关键问题是,根据什么对数据进行切分,因为切分不好会导致分布式的事务问题。

    2) 阿里OceanBase系统

    该系统也是淘宝为了解决高并发、大数据环境下事务型处理而定制开发的一个系统。该系统主要思路和特点如下:

    (1)他们发现在实际生成环境中,每天更新的数据只占总体数据的1%不到,因此他们把数据分为:基线数据和增量更新数据。

    (2)基线数据是静态数据,采用分布式存储方式进行存储。

    (3)只在一台服务器上存储和处理增量更新数据,并且是在内存中存储和处理更新数据。

    (4)在系统负载轻的时候,把增量更新批量合并到基线数据中。

    (5)数据访问时同时访问基线数据和增量更新数据并合并。

    因此这样好处是:

    (1)读事务和写事务分离

    (2)通过牺牲一点扩展性(写是一个单点),来避免分布式事务处理。

    说明:该系统虽然能处理高并发的事务型处理,号称很牛逼,但其实也只是根据电商的事务处理来定制开发的专用系统,个人认为其技术难度小于oracle等通用型的数据库。该系统无法应用到银行或者12306等,因为其事务处理的逻辑远远比电商商品买卖处理逻辑复杂。

    在目前的大数据时代,一定是基于应用定制才能找到好的解决方案!

    3) 基于Hbase的交易系统

    在hadoop平台下,HBASE数据库是一个分布式KV数据库,属于实时数据库范畴。支付宝目前支付记录就是存储在HBASE数据库中。

    HBASE数据库接口是非SQL接口,而是KV操作接口(基于Key的访问和基于key范围的scan操作),因此HBASE数据库虽然可扩展性非常好,但是由于其接口限制导致该数据库能支持上层应用很窄。基于HBASE应用的设计中,关键点是key的设计,要根据需要支持的应用来设计key的组成。

    可以认为HBASE数据库只支持作为KEY的这一列的索引。虽然目前HBASE有支持二级索引的方案,二级索引维护将会比较麻烦。

    2并发和并行区别

    并发是指同时执行通常不相关的各种任务,例如交易型系统典型属于高并发系统。

    并行是通过将一个很大的计算任务,划分为多个小的计算任务,然后多个小计算任务的并行执行,来缩短该计算任务计算时间。

    两者主要区别在于:

    (1)通讯与协调方面:在并行计算中,由于多个小任务同属一个大的计算任务,因此小任务之间存在依赖关系,小任务之间需要大量通讯和协调;相反,并发中的多个任务之间基本相互独立,任务与任务之间相关性很小。

    (2)容错处理方面:由于并发任务之间相互独立,某个任务执行失败并不会影响其它的任务。但是并行计算中的多个任务属于一个大任务,因此某个子任务的失败,如果不能恢复(粗粒度容错与细粒度容错),则整个任务都会失败。

    3本章总结

    数据量大不一定需要并行计算,虽然数据量大,数据是分布存储,但是如果每次操作基本上还是针对少量数据,因此每次操作基本上都是在一台服务器上完成,不涉及并行计算。只是需要通过数据复制、数据缓存、异步处理等方式来支撑高并发访问量

    三 大数据背景下数据统计分析技术介绍

    随数据量变大,和事务处理不同的是,单个统计分析涉及数据量会非常大,单个统计分析任务涉及数据会分散在多台服务器上,且由于计算量大,采用单台服务器进行计算,会导致计算时间非常长,单个统计分析任务必须采用并行计算方式来加快单个统计分析任务执行速度。

    1并行查询与并行计算技术介绍

    在大数据背景下的数据统计分析技术门类很多,常见的有:

    n MPP并行数据库 : TeraData、GreenPlum、Vertica等。

    n 基于MapReduce并行计算框架的数据仓库:

    HIVE(Hadoop平台) 、Tenzing(Google公司)

    n 基于Hbase的Phoenix系统

    n HadoopDB系统

    n EMC公司的hapt系统

    n MPP分布式查询引擎: Dremel、Impala、Presto、Shard query、Citusdb。

    n 基于SPARK的Shark、基于Dryad的SCOPE、基于Tez的stinger。

    n 基于hadoop+index的JethroData系统

    n 基于内存计算的Druid系统

    这些系统都解决了海量数据下的数据统计分析的问题,并且这些系统另外一个共同特点是都提供了SQL或者类SQL接口。

    为了能够较好研究这些系统,我们需要对并行查询与并行计算的相关技术做一个简要的介绍。

    首先所有的系统都可以分为三个层次: 语义层、并行计算引擎层、分布式存储层。语义层提供一个编程接口让用户表达所需要计算,并负责把该计算翻译成底层并行计算引擎可以执行的执行计划,并由并行计算引擎来执行,最下面一层是分布式存储层。

    对于提供类SQL接口并行计算系统,语义层可以认为是SQL解析层。

    1) 语义层

    SQL语言是一种声名式语言,SQL只是表达了要做什么,而没有表达怎么做。为此,SQL解析层主要作用是:将用户提交的基于SQL的统计分析请求,转化为底层计算引擎层可以执行的执行计划。也就是解决“怎么做”的问题。

    SQL解析层工作主要包括两个大方面:

    (1) 通过语法分析技术来理解要做什么。在关系数据库中,一般会把SQL语言分析后,形成树型结构的执行计划。

    (2) 在语法分析技术上,利用各种优化技术和算法,找出一种最经济物理执行计划。

    优化可以分为两个方面:一是逻辑层面优化、二是物理执行层面优化。

    (1) 逻辑层优化

    逻辑层面个人认为主要是因为同样表达一个分析请求,有的人SQL写的好,有的人SQL写的烂,因此在逻辑层面可以通过一些等价关系代数变换,实现查询重写,将写的比较烂的sql变换为好的写法。

    比较典型优化是:“把投影和过滤下沉,先执行过滤和投影操作”,减少中间结果。

    (2) 物理层优化

    物理层面优化是在逻辑优化后,结合实际物理执行过程,找出最优的物理执行计划。生成物理查询计划的工作包括:

    ü 增加一些操作符: 包括扫描和排序等。

    ü 确定各个操作符实现算法。例如扫描是全表扫描还是利用索引;Join是采用HASH连接、索引连接、合并排序等实现算法中的那一种。

    ü 确定操作符之间的数据流转方法:物化还是流水线方式。

    ü 采用基于代价估算方法确定最优的物理执行计划,目前代价估算主要是以估算该物理计划需要的IO量。另外对于并行数据库,则还要考虑通讯代价,即尽量减少数据在各个机器之间的传递。

    在物理层优化的代价估算过程中,代价估算需要依靠很多统计信息,如表有多大,表中相关列的值分布是什么样子等。传统数据库在数据Load过程中会事先计算好这些统计信息。并行计算中还需要考虑通讯代价。

    需要指出是,由于imapla、Presto、HIVE等系统只是一个查询引擎,它们可以直接查询以普通文件方式存储在HDFS系统上的文件,因此这些系统一般无法使用索引和各种统计信息来进行物理执行计划的优化,这些系统一般只能在逻辑层进行一些基于规则静态优化。根据SHARK论文,SHARK系统支持根据前面一些节点计算获得的信息,来动态优化后面执行计划。

    (3) 物化与流水线执行方法

    一条SQL语句对开发人员而言,感觉只是一次调用,但是实际上在数据库内部,一条SQL语句执行其实是有多个操作符组合而成的的树型结构计算流。如下图:

    针对该计算流有两种执行方式:一是基于物化或者是实体化执行方式,另外一种是基于数据流的执行方式。

    第一种方法的过程是: 把各个操作运算排序,并把每个操作运算的输出的中间结果存储在磁盘上,直到被另外一个操作运算所...

  • ?

    大数据分析—Redis介绍

    Oriel

    展开

    在大数据分析架构里,一般是spark、storm作为计算框架,计算后的结果存到redis。要对redis的数据结构有清晰认识,理解各自优缺点、实用场景,redis价值才能最大化。今天我们来谈谈Redis

    Redis概述

    lRedis是一个开源,先进的key-value存储,并用于构建高性能,可扩展的应用程序的完美解决方案。

    lRedis从它的许多竞争继承来的三个主要特点:

    lRedis数据库完全在内存中,使用磁盘仅用于持久性。

    l相比许多键值数据存储,Redis拥有一套较为丰富的数据类型。String,List,set,map,sortSet

    lRedis可以将数据复制到任意数量的从服务器。

    Redis 优势

    异常快速:Redis的速度非常快,每秒能执行约11万集合,每秒约81000+条记录。

    支持丰富的数据类型:Redis支持字符串、列表、集合、有序集合散列数据类型,这使得它非常容易解决各种各样的问题。

    操作都是原子性:所有Redis操作是原子的,这保证了如果两个客户端同时访问的Redis服务器将获得更新后的值。----计数器

    多功能实用工具:Redis是一个多实用的工具,可以在多个用例如缓存,消息,队列使用(Redis原生支持发布/订阅),任何短暂的数据,应用程序,如Web应用程序会话,网页命中计数等。

    Redis安装部署

    Redis编译、安装

    解压文件,并创建软件连接

    tar -zxvf redis-3.0.5.tar.gz -C /export/servers/ln –s redis-3.0.5/ redis

    编译redis源码

    cd /export/servers/redismake(先安装gcc)

    将编译后的可执行文件安装到/user/local/redis

    make PREFIX=/usr/local/redis install

    启动Redis

    启动方式一:Redis前台默认启动

    进入redis安装目录,并启动Redis服务

    cd /usr/local/redis/bin/./redis-server

    启动方式二:Redis使用配置文件启动

    拷贝源码中的redis.conf文件到redis的安装目录

    cp /export/servers/redis/redis.conf /usr/local/redis/

    修改redis.conf的属性

    daemonize no è daemonize yes

    启动redis服务

    cd /usr/local/redisbin/redis-server ./redis.conf

    日志文件及持久化文件配置

    修改生成默认日志文件位置

    logfile "/usr/local/redis/logs/redis.log"

    配置持久化文件存放位置

    dir /usr/local/redis/data/redisData

    Redis客户端使用

    redis.clientsjedis2.8.0

    Redis持久化

    有两种持久化方案:RDB和AOF

    1)RDB方式按照一定的时间间隔对数据集创建基于时间点的快照。

    2)AOF方式记录Server收到的写操作到日志文件,在Server重启时通过回放这些写操作来重建数据集。该方式类似于MySQL中基于语句格式的binlog。当日志变大时Redis可在后台重写日志。

    AOF持久化配置

    1)修改redis.config配置文件,找到appendonly。默认是appendonly no。改成appendonly yes

    2)再找到appendfsync 。默认是 appendfsync everysec

    appendfsync always

    #每次收到写命令就立即强制写入磁盘,最慢的,但是保证完全的持久化,不推荐使用

    appendfsync everysec

    #每秒钟强制写入磁盘一次,在性能和持久化方面做了很好的折中,推荐

    appendfsync no

    #完全依赖os,性能最好,持久化没保证

    RDB持久化配置

    默认情况下,Redis保存数据集快照到磁盘,名为dump.rdb的二进制文件。可以设置让Redis在N秒内至少有M次数据集改动时保存数据集,或者你也可以手动调用SAVE或者BGSAVE命令。

    例如,这个配置会让Redis在每个60秒内至少有1000次键改动时自动转储数据集到磁盘

    save 60 1000

    Redis数据结构

    关注佳源信息,关注更多资讯。

  • ?

    大数据分析:比你自己更加了解你自己

    Riva

    展开

    如果大数据能够如此诡异地了解到我个性的方方面面,我只想问:为什么Facebook一直想让我花80元买双拖鞋?

    如果大数据能够如此诡异地了解到我个性的方方面面,我只想问:为什么Facebook一直想让我花80元买双拖鞋?

    我上Facebook或Instagram时几乎总会看到一则标价过高的帆布便鞋广告。我怀疑自己迄今从没买过超过25元的拖鞋,我也不太可能在马莎百货(Marks and Spencer)以外的地方买这类东西。我从来没在网上搜索过拖鞋二字,也想不出我上网时哪些举动会暗示出我喜欢“新潮”的拖鞋。(实际上,这款拖鞋有种难看的可拆户外鞋底,所以人们多半会说我是个穿拖鞋出门溜达的“中年大叔”,而不会说我“新潮”,如果我买了它的话。)

    对那些数据科学天才们来说,公平地讲,Facebook并不总是给我推销天价拖鞋。有时它也向我推销天价耳塞,或购买一款正念app的机会。照说,我们应该相信,建立在数据抓取和机器学习基础上的复杂算法现在比我们最亲密的朋友还了解我们。然而,在我们公司,不用15分钟你就能了解,我这个人不太可能花80元去买拖鞋,也不会破费购买什么正念app。

    这些广告还会根据浏览历史来投放。我明白为什么我在浏览过某个城市的旅游景点后会看到爱彼迎(Airbnb)的招租广告。在一个数据被认为无所不知的时代,令我困惑的是,为什么我在订完房后还能看到广告。总是如此。有谁没在网购后的六周接连不断地收到同一个商品的广告推送?去年,我们买了台电子琴送给儿子当生日礼物。几个月后,我仍会收到相同型号产品的广告。要么是数据分析师们不知道我们已经下了单,要么是他们认为我们是电音组合“宠物店男孩(Pet Shop Boys)”,一台电子琴不够使。

    在我看来,这些广告不像是来自别有用心的数据天才,它们更像出自一位上了年纪的大爷之手,他记得你小时候爱吃夹心饼干,所以即使你都过完45岁生日了,他还在给你买。

    很明显,还有更多原因。如果不值当的话,像Facebook和谷歌(Google)这种企业才不会做这么麻烦的事。我们必须假设,密集的数据挖掘会带来更有针对性的广告,从而为客户提供更优质的筛选结果,也会给平台带来更高的回报。

    我只想提一个忠告。不管这些公司掌握了我多少数据,在有针对性地推送消息上,他们显然还得再接再厉。我每天大部分时间都耗在网上,访问那些被Facebook搜索的网站,并通过Chrome浏览器将我的一举一动反馈给谷歌。我大致的生活状况不难了解,然而,它们还在给我推送金拖鞋。我想这意味着Facebook将我界定为国际精英阶层,但更有可能的是,我被归入了“钱多人傻”一族。

    定向广告的价值显而易见。给巴黎某个对麸质过敏的人推销一家伦敦的面包店毫无意义,但夸大算法的能力却符合每个人的利益。

    一种合理的解释也许是,这些平台尚未将它们掌握的有关我的海量数据整合为有用的行动。目前,它们仅需胜过其它媒介,如报纸和电视。虽然它们可能还没有很好地将自身掌握的大量数据投入使用,但有理由相信它们会越来越擅长利用这些资源。这也许就是为什么如今监管机构应该认真考虑限制数据采集的规模。

    还有另一种解释。也许它们非常了解我,以至于还没等我自己意识到,它们就知道我需要这些华而不实的高价货。它们知道,私下里我就是那种把脚套进80英镑的居家鞋的人。也许大数据革命就像许多人宣称的那样高深莫测,而且比我本人更了解我自己。或许我只需要屈服,它让我买啥我就买啥。噢,金拖鞋;噢,金拖鞋。

    转载自百家号作者:超说未来

  • ?

    大数据挖掘与大数据分析一样吗?有什么区别?

    寒梅

    展开

    大数据挖掘与大数据分析一样吗?随着大数据越来越火,与大数据相关的职位也开始粉墨登场,引人关注。作为大数据行业最为重要的两种职位,大数据挖掘和大数据分析更是受到了与众不同的待遇。现在有许多的朋友都会问:大数据挖掘和大数据分析有什么区别,不是都是搞数据的吗?在这里,魔据小编认为:尽管大数据挖掘和大数据分析同属于大户数据行业,但是依然有着很大的区别。

    大数据挖掘与大数据分析一样吗?

    一.什么是数据

    不谈数据,就无以谈大数据挖掘和大数据分析,因此,我们先说一下什么是数据。

    其实很简单,数据就是观测值。例如测量数据。大家可能有个误区,认为客户填写的表单就是数据,对编程序而言,是的,但是不是常规的数据。当然填写的内容,一旦落入到观测空间,自然就成了数据。

    二.什么是大数据挖掘和大数据分析

    大数据挖掘指对大数据数据分析手段后的信息,进行价值化的分析。

    大数据分析指对大数据的一种操作手段,或者算法。目标是针对先验的约束,对数据进行整理、筛选、加工,由此得到信息。

    三.大数据挖掘和大数据分析有什么区别

    大数据挖掘是对信息的价值化的获取。价值化自然不会考虑数据本身,而是考虑数据是否有价值。由此,一批数据,你尝试对它做不同的价值评估,这是大数据挖掘。

    大数据分析是以输入的数据为基础,通过先验的约束,对数据进行处理,但是不以结论何如为调整。例如你需要图像识别,这个属于大数据分析。你要分析人脸,数据就是通过先验的 方法,就是出来个猫脸。你的数据分析也没有问题,你需要默默承受结果,并且尊重事实。因此大数据分析的重点在于数据的有效性、真实性和先验约束的正确性。

    大数据挖掘与大数据分析一样吗?

    此时对比大数据分析,最大的特点就是你需要调整你不同的先验约束,再次对数据进行分析。而先验的约束已经不是针对数据来源自身的特点,例如信噪比处理算法。你期望得到的一个有价值的内容,做先验的约束,以观测,数据根据这个约束,是否有正确的反馈。

    大数据挖掘与大数据分析一样吗?

    不管大数据挖掘和大数据分析有什么不同,这两个职位的前景都是十分好的,现在入行,正是最好的时机。

  • ?

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

    老亮

    展开

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

    可视化分析

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

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

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

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

    数据挖掘算法

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

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

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

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

    也要处理大数据的速度

    预测性分析能力

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

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

    做出一些预测性的判断

    语义引擎

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

    数据质量和数据管理

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

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

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

    数据存储,数据仓库

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

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

    个人培训 丨 企业内训

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

  • ?

    大数据是什么?超全的大数据分析工具

    炀楹

    展开

    大数据是什么?大数据处理分析的工具有哪些?不管是即将学习大数据的人亦或是转型向学大数据的人都想要了解的。

    1,什么是大数据

    简言之,从各种各样类型的数据中,快速获得有价值信息的能力,就是大数据技术。

    2,大数据最核心的价值

    大数据最核心的价值就是在于对于海量数据进行存储和分析。相比起现有的其他技术而言,大数据的“廉价、迅速、优化”这三方面的综合成本是最优的。

    3,大数据处理分析的六大最好工具

    一、 Apache Hadoop

    Hadoop 是一个能够对大量数据进行分布式处理的软件框架。Hadoop 是可靠的,因为它假设计算元素和存储会失败,因此它维护多个工作数据副本,确保能够针对失败的节点重新分布处理。Hadoop 是高效的,因为它以并行的方式工作,通过并行处理加快处理速度。Hadoop 还是可伸缩的,能够处理 PB 级数据。此外,Hadoop 依赖于社区服务器,因此它的成本比较低,任何人都可以使用。

    Hadoop是一个能够让用户轻松架构和使用的分布式计算平台。用户可以轻松地在Hadoop上开发和运行处理海量数据的应用程序。它主要有以下几个优点:

    ⒈高可靠性。Hadoop按位存储和处理数据的能力值得人们信赖。

    ⒉高扩展性。Hadoop是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中。

    ⒊高效性。Hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快。

    ⒋高容错性。Hadoop能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配。

    Hadoop带有用 Java 语言编写的框架,因此运行在 Linux 生产平台上是非常理想的。Hadoop 上的应用程序也可以使用其他语言编写,比如 C++。

    二、HPCC

    HPCC,High Performance Computing and Communications(高性能计算与通信)的缩写。1993年,由美国科学、工程、技术联邦协调理事会向国会提交了“重大挑战项目:高性能计算与 通信”的报告,也就是被称为HPCC计划的报告,即美国总统科学战略项目,其目的是通过加强研究与开发解决一批重要的科学与技术挑战问题。HPCC是美国 实施信息高速公路而上实施的计划,该计划的实施将耗资百亿美元,其主要目标要达到:开发可扩展的计算系统及相关软件,以支持太位级网络传输性能,开发千兆 比特网络技术,扩展研究和教育机构及网络连接能力。

    该项目主要由五部分组成:

    1、高性能计算机系统(HPCS),内容包括今后几代计算机系统的研究、系统设计工具、先进的典型系统及原有系统的评价等;

    2、先进软件技术与算法(ASTA),内容有巨大挑战问题的软件支撑、新算法设计、软件分支与工具、计算计算及高性能计算研究中心等;

    3、国家科研与教育网格(NREN),内容有中接站及10亿位级传输的研究与开发;

    4、基本研究与人类资源(BRHR),内容有基础研究、培训、教育及课程教材,被设计通过奖励调查者-开始的,长期 的调查在可升级的高性能计算中来增加创新意识流,通过提高教育和高性能的计算训练和通信来加大熟练的和训练有素的人员的联营,和来提供必需的基础架构来支 持这些调查和研究活动;

    5、信息基础结构技术和应用(IITA ),目的在于保证美国在先进信息技术开发方面的领先地位。

    三、Storm

    Storm是自由的开源软件,一个分布式的、容错的实时计算系统。Storm可以非常可靠的处理庞大的数据流,用于处理Hadoop的批量数据。 Storm很简单,支持许多种编程语言,使用起来非常有趣。Storm由Twitter开源而来,其它知名的应用企业包括Groupon、淘宝、支付宝、阿里巴巴、乐元素、Admaster等等。

    Storm有许多应用领域:实时分析、在线机器学习、不停顿的计算、分布式RPC(远过程调用协议,一种通过网络从远程计算机程序上请求服务)、 ETL(Extraction-Transformation-Loading的缩写,即数据抽取、转换和加载)等等。Storm的处理速度惊人:经测 试,每个节点每秒钟可以处理100万个数据元组。Storm是可扩展、容错,很容易设置和操作。

    四、Apache Drill

    为了帮助企业用户寻找更为有效、加快Hadoop数据查询的方法,Apache软件基金会近日发起了一项名为“Drill”的开源项目。Apache Drill 实现了 Google's Dremel.

    据Hadoop厂商MapR Technologies公司产品经理Tomer Shiran介绍,“Drill”已经作为Apache孵化器项目来运作,将面向全球软件工程师持续推广。

    该项目将会创建出开源版本的谷歌Dremel Hadoop工具(谷歌使用该工具来为Hadoop数据分析工具的互联网应用提速)。而“Drill”将有助于Hadoop用户实现更快查询海量数据集的目的。

    “Drill”项目其实也是从谷歌的Dremel项目中获得灵感:该项目帮助谷歌实现海量数据集的分析处理,包括分析抓取Web文档、跟踪安装在Android Market上的应用程序数据、分析垃圾邮件、分析谷歌分布式构建系统上的测试结果等等。

    通过开发“Drill”Apache开源项目,组织机构将有望建立Drill所属的API接口和灵活强大的体系架构,从而帮助支持广泛的数据源、数据格式和查询语言。

    五、RapidMiner

    RapidMiner是世界领先的数据挖掘解决方案,在一个非常大的程度上有着先进技术。它数据挖掘任务涉及范围广泛,包括各种数据艺术,能简化数据挖掘过程的设计和评价。

    功能和特点

    免费提供数据挖掘技术和库

    100%用Java代码(可运行在操作系统)

    数据挖掘过程简单,强大和直观

    内部XML保证了标准化的格式来表示交换数据挖掘过程

    可以用简单脚本语言自动进行大规模进程

    多层次的数据视图,确保有效和透明的数据

    图形用户界面的互动原型

    命令行(批处理模式)自动大规模应用

    Java API(应用编程接口)

    简单的插件和推广机制

    强大的可视化引擎,许多尖端的高维数据的可视化建模

    400多个数据挖掘运营商支持

    耶鲁大学已成功地应用在许多不同的应用领域,包括文本挖掘,多媒体挖掘,功能设计,数据流挖掘,集成开发的方法和分布式数据挖掘。

    六、 Pentaho BI

    Pentaho BI 平台不同于传统的BI 产品,它是一个以流程为中心的,面向解决方案(Solution)的框架。其目的在于将一系列企业级BI产品、开源软件、API等等组件集成起来,方便商务智能应用的开发。它的出现,使得一系列的面向商务智能的独立产品如Jfree、Quartz等等,能够集成在一起,构成一项项复杂的、完整的商务智能解决方案。

    Pentaho BI 平台,Pentaho Open BI 套件的核心架构和基础,是以流程为中心的,因为其中枢控制器是一个工作流引擎。工作流引擎使用流程定义来定义在BI 平台上执行的商业智能流程。流程可以很容易的被定制,也可以添加新的流程。BI 平台包含组件和报表,用以分析这些流程的性能。目前,Pentaho的主要组成元素包括报表生成、分析、数据挖掘和工作流管理等等。这些组件通过 J2EE、WebService、SOAP、HTTP、Java、JavaScript、Portals等技术集成到Pentaho平台中来。 Pentaho的发行,主要以Pentaho SDK的形式进行。

    Pentaho SDK共包含五个部分:Pentaho平台、Pentaho示例数据库、可独立运行的Pentaho平台、Pentaho解决方案示例和一个预先配制好的 Pentaho网络服务器。其中Pentaho平台是Pentaho平台最主要的部分,囊括了Pentaho平台源代码的主体;Pentaho数据库为 Pentaho平台的正常运行提供的数据服务,包括配置信息、Solution相关的信息等等,对于Pentaho平台来说它不是必须的,通过配置是可以用其它数据库服务取代的;可独立运行的Pentaho平台是Pentaho平台的独立运行模式的示例,它演示了如何使Pentaho平台在没有应用服务器支持的情况下独立运行;Pentaho解决方案示例是一个Eclipse工程,用来演示如何为Pentaho平台开发相关的商业智能解决方案。

    Pentaho BI 平台构建于服务器,引擎和组件的基础之上。这些提供了系统的J2EE 服务器,安全,portal,工作流,规则引擎,图表,协作,内容管理,数据集成,分析和建模功能。这些组件的大部分是基于标准的,可使用其他产品替换之。

    4. 大数据特点

    第一,数据体量巨大。从TB级别,跃升到PB级别。

    第二,数据类型繁多,如前文提到的网络日志、视频、图片、地理位置信息,等等。

    第三,价值密度低。以视频为例,连续不间断监控过程中,可能有用的数据仅仅有一两秒。

    第四,处理速度快。1秒定律。最后这一点也是和传统的数据挖掘技术有着本质的不同。物联网、云计算、移动互联网、车联网、手机、平板电脑、PC以及遍布地球各个角落的各种各样的传感器,无一不是数据来源或者承载的方式。

    如果对于大数据还有更多的疑问,可以持续关注作者,也可以留言或者私信问题。

  • ?

    什么叫大数据分析

    Totnes

    展开

    大数据行业发展如火如荼,国家政策利好,互联网大佬纷纷在大数据行业布局,我们想让自己的职业生涯在一个朝阳行业发展,肯定又要学习相关技术,让自己与时俱进,但是难就难在大数据是一个新兴事物,目前我国大学的专业里面还鲜少有这个专业,国家刚批的大数据专业,全国目前35个高校,但是从17年开始招生,2021年才有第一批毕业生进入职场,在四年期间,是大数据行业发展的飞速时期,没有行业发展是等着人才进入的,而是需要要虚位以待、蓄势待发,所以在没有高等教育准备好的大数据教育,如何高效的学习大数据,如何快速的与行业发展想契合,那么需要我们成为第一个吃螃蟹的人,作为一个随着大数据行业成长的职业人,首先要知道大数据是个啥?

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

    那来帮大家分析下:如何高效的学习大数据。

    经常有初学者会问,自己想往大数据方向发展,该学哪些技术,学习路线是什么样的,觉得大数据很火,就业很好,薪资很高……首先,如果你确定了想往这个方面发展,先考虑自己的过去从业经历、专业、兴趣是什么。计算机专业——操作系统、硬件、网络、服务器?软件专业——软件开发、编程、写代码?还是数学、统计学专业——对数据和数字特别感兴趣?

    那么你能找师傅带吗?

    但凡有这种想法的人,或多或少都会存有侥幸之心,或者叫做“天真,单纯”。希望不花一分钱,就能更快速的学到更优质,更实用的技能。

    关于这一点,我只想反问一句你:“如果你是大师,你凭什么愿意带我?”

    其实这就是想告诉你大数据的三个发展方向,平台搭建/优化/运维/监控、大数据开发/设计/架构、数据分析/挖掘。

    先说一下大数据的4V特征:

    数据量大,TB->PB

    数据类型繁多,结构化、非结构化文本、日志、视频、图片、地理位置等;

    商业价值高,但是这种价值需要在海量数据之上,通过数据分析与机器学习更快速的挖掘出来;

    处理时效性高,海量数据的处理需求不再局限在离线计算当中。

    现如今,正式为了应对大数据的这几个特点,开源的大数据框架越来越多,越来越强,先列举一些常见的:

    文件存储:Hadoop HDFS、Tachyon、KFS

    离线计算:Hadoop MapReduce、Spark

    流式、实时计算:Storm、Spark Streaming、S4、Heron

    K-V、NOSQL数据库:HBase、Redis、MongoDB

    资源管理:YARN、Mesos

    日志收集:Flume、Scribe、Logstash、Kibana

    消息系统:Kafka、StormMQ、ZeroMQ、RabbitMQ

    查询分析:Hive、Impala、Pig、Presto、Phoenix、SparkSQL、Drill、Flink、Kylin、Druid

    分布式协调服务:Zookeeper

    集群管理与监控:Ambari、Ganglia、Nagios、Cloudera Manager

    数据挖掘、机器学习:Mahout、Spark MLLib

    数据同步:Sqoop

    任务调度:Oozie

    ······

    第一步:初识Hadoop

    1.1 学会百度与Google

    不论遇到什么问题,先试试搜索并自己解决。

    Google首选,翻不过去的,就用百度吧。

    1.2 参考资料首选官方文档

    特别是对于入门来说,官方文档永远是首选文档。

    相信搞这块的大多是文化人,英文凑合就行,实在看不下去的,请参考第一步。

    1.3 先让Hadoop跑起来

    Hadoop可以算是大数据存储和计算的开山鼻祖,现在大多开源的大数据框架都依赖Hadoop或者与它能很好的兼容。

    关于Hadoop,你至少需要搞清楚以下是什么:

    · Hadoop 1.0、Hadoop 2.0

    · MapReduce、HDFS

    · NameNode、DataNode

    · JobTracker、TaskTracker

    · Yarn、ResourceManager、NodeManager

    自己搭建Hadoop,请使用第一步和第二步,能让它跑起来就行。

    建议先使用安装包命令行安装,不要使用管理工具安装。

    另外:Hadoop1.0知道它就行了,现在都用Hadoop 2.0.

    1.4 尝试使用Hadoop

    · HDFS目录操作命令;

    · 上传、下载文件命令;

    · 提交运行MapReduce示例程序;

    · 打开Hadoop WEB界面,查看Job运行状态,查看Job运行日志。

    · 知道Hadoop的系统日志在哪里。

    1.5了解它们的原理

    MapReduce:如何分而治之;

    HDFS:数据到底在哪里,什么是副本;

    Yarn到底是什么,它能干什么;

    NameNode到底在干些什么;

    ResourceManager到底在干些什么;

    1.6 自己写一个MapReduce程序

    仿照WordCount例子,自己写一个(照抄也行)WordCount程序,

    打包并提交到Hadoop运行。

    不会Java的话,Shell、Python都可以,有个东西叫Hadoop Streaming。

    如果能认真完成了以上几步,恭喜你,你的一只脚已经进来了。

    第二步:更高效的WordCount

    2.1 学点SQL吧

    如果不懂数据库的童鞋先学习使用SQL句。

    2.2 SQL版WordCount

    在1.6中,你写(或者抄)的WordCount一共有几行代码?

    如果用SQL的话:

    SELECT word,COUNT(1) FROM wordcount GROUP BY word;

    这便是SQL的魅力,编程需要几十行,甚至上百行代码,SQL一句就搞定;使用SQL处理分析Hadoop上的数据,方便、高效、易上手、更是趋势。不论是离线计算还是实时计算,越来越多的大数据处理框架都在积极提供SQL接口。

    2.3 安装配置Hive

    Hive算是数据仓库工具,安装不难,网上有很多教程,配置完成后,可以正常进入Hive命令行。

    2.4 试试使用Hive

    尝试在Hive中创建wordcount表,并运行2.2中的SQL语句。在Hadoop WEB界面中找到刚才运行的SQL任务。看SQL查询结果是否和1.4中MapReduce中的结果一致。

    明明写的是SQL,为什么Hadoop WEB界面中看到的是MapReduce任务?

    2.5 学会Hive的基本命令

    创建、删除表;加载数据到表;下载Hive表的数据;并学习更多关于Hive的语法和命令。

    0和Hadoop2.0的区别

    MapReduce的原理(还是那个经典的题目,一个10G大小的文件,给定1G大小的内存,如何使用Java程序统计出现次数最多的10个单词及次数);

    HDFS读写数据的流程;向HDFS中PUT数据;从HDFS中下载数据;

    自己会写简单的MapReduce程序,运行出现问题,知道在哪里查看日志;

    会写简单的SELECT、WHERE、GROUP BY等SQL语句;

    Hive SQL转换成MapReduce的大致流程;

    Hive中常见的语句:创建表、删除表、往表中加载数据、分区、将表中数据下载到本地;

    从上面的学习,你已经了解到,HDFS是Hadoop提供的分布式存储框架,它可以用来存储海量数据,MapReduce是Hadoop提供的分布式计算框架,它可以用来统计和分析HDFS上的海量数据,而Hive则是SQL On Hadoop,Hive提供了SQL接口,开发人员只需要编写简单易上手的SQL语句,Hive负责把SQL翻译成MapReduce,提交运行。

    第三步:把别处的数据搞到Hadoop上

    此处也可以叫做数据采集,把各个数据源的数据采集到Hadoop上。

    3.1 HDFS PUT命令

    put命令在实际环境中也比较常用,通常配合shell、python等脚本语言来使用。建议需熟练掌握。

    3.2 HDFS API

    HDFS提供了写数据的API,自己用编程语言将数据写入HDFS,put命令本身也是使用API。

    实际环境中一般自己较少编写程序使用API来写数据到HDFS,通常都是使用其他框架封装好的方法。比如:Hive中的INSERT语句,Spark中的saveAsTextfile等。

    可以尝试了解原理,试着写几个Demo。

    3.3 Sqoop

    Sqoop是一个主要用于Hadoop/Hive与传统关系型数据库Oracle/MySQL/SQLServer等之间进行数据交换的开源框架。

    就像Hive把SQL翻译成MapReduce一样,Sqoop把你指定的参数翻译成MapReduce,提交到Hadoop运行,完成Hadoop与其他数据库之间的数据交换。

    自己下载和配置Sqoop(建议先使用Sqoop1,Sqoop2比较复杂)。

    了解Sqoop常用的配置参数和方法。

    使用Sqoop完成从MySQL同步数据到HDFS;

    使用Sqoop完成从MySQL同步数据到Hive表;

    PS:如果后续选型确定使用Sqoop作为数据交换工具,那么建议熟练掌握,否则,了解和会用Demo即可。

    3.4 Flume

    Flume是一个分布式的海量日志采集和传输框架,因为“采集和传输框架”,所以它并不适合关系型数据库的数据采集和传输。Flume可以实时的从网络协议、消息系统、文件系统采集日志,并传输到HDFS上。因此,如果你的业务有这些数据源的数据,并且需要实时的采集,那么就应该考虑使用Flume。

    下载和配置Flume。使用Flume监控一个不断追加数据的文件,并将数据传输到HDFS;

    PS:Flume的配置和使用较为复杂,如果你没有足够的兴趣和耐心,可以先跳过Flume。

    3.5 阿里开源的DataX

    之所以介绍这个,是因为以前某公司客户目前使用的Hadoop与关系型数据库数据交换的工具,就是之前基于DataX开发的,个人感觉非常好用。现在DataX已经是3.0版本,支持很多数据源。你也可以在其之上做二次开发。

    PS:有兴趣的可以研究和使用一下,对比一下它与Sqoop。

    至此,你的“大数据平台”应该是这样的:

    第四步:把Hadoop上的数据搞到别处去

    前面介绍了如何把数据源的数据采集到Hadoop上,数据到Hadoop上之后,便可以使用Hive和MapReduce进行分析了。那么接下来的问题是,分析完的结果如何从Hadoop上同步到其他系统和应用中去呢?

    其实此处的方法和第三步基本一致的。

    4.1 HDFS GET命令

    把HDFS上的文件GET到本地。需要熟练掌握。

    4.2 HDFS API

    原理同3.2。

    4.3 Sqoop

    原理同3.3。

    使用Sqoop完成将HDFS上的文件同步到MySQL;

    使用Sqoop完成将Hive表中的数据同步到MySQL;

    4.4 DataX

    原理同3.4

    此时,“你的大数据平台”应该是这样的:

    走完第三步和第四步的流程,那么你应该已经具备以下技能和知识点:

    · 知道如何把已有的数据采集到HDFS上,包括离线采集和实时采集;

    · 知道sqoop(或者还有DataX)是HDFS和其他数据源之间的数据交换工具;

    · 知道flume可以用作实时的日志采集;

    至此,对于大数据平台,应该已经掌握如何搭建Hadoop集群,把数据采集到Hadoop上,使用Hive和MapReduce来分析数据,把分析结果同步到其他数据源。

    接下来的问题就是,Hive使用的越来越多,你会发现很多不愉快的地方,特别是速度慢,

    大多情况下,明明我的数据量很小,它都要申请资源,启动MapReduce来执行。

    第五步:快一点吧,我的SQL

    其实大家都已经发现Hive后台使用MapReduce作为执行引擎,实在是有点慢。因此SQL On Hadoop的框架越来越多,按我的了解,最常用的按照流行度依次为SparkSQL、Impala和Presto.这三种框架基于半内存或者全内存,提供了SQL接口来快速查询分析Hadoop上的数据。

    目前我们的方案使用的是SparkSQL,至于为什么用SparkSQL,原因大概如下:

    · 使用Spark还做了其他事情,不想引入过多的框架;

    · Impala对内存的需求太大,没有过多资源部署;

    5.1 关于Spark和SparkSQL

    什么是Spark,什么是SparkSQL。

    Spark有的核心概念及名词解释。

    SparkSQL和Spark是什么关系,SparkSQL和Hive是什么关系。

    5.2 如何部署和运行SparkSQL

    Spark有哪些部署模式?

    如何在Yarn上运行SparkSQL?

    使用SparkSQL查询Hive中的表。

    PS:Spark不是一门短时间内就能掌握的技术,因此建议在了解了Spark之后,可以先从SparkSQL入手,循序渐进。

    第六步:一夫多妻制

    其实我想说的是数据的一次采集、多次消费。

    在实际业务场景下,特别是对于一些监控日志,想即时的从日志中了解一些指标(关于实时计算,后面步节会有介绍),这时候,从HDFS上分析就太慢了,尽管是通过Flume采集的,但Flume也不能间隔很短就往HDFS上滚动文件,这样会导致小文件特别多。

    为了满足数据的一次采集、多次消费的需求,这里要说的便是Kafka。

    6.1 关于Kafka

    Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。

    6.2 如何部署和使用Kafka

    使用单机部署Kafka,并成功运行自带的生产者和消费者例子。

    使用Java程序自己编写并运行生产者和消费者程序。

    Flume和Kafka的集成,使用Flume监控日志,并将日志数据实时发送至Kafka。

    至此,“大数据平台”应该扩充成这样:

    这时,使用Flume采集的数据,不是直接到HDFS上,而是先到Kafka,Kafka中的数据可以由多个消费者同时消费,其中一个消费者,就是将数据同步到HDFS。

    总结:

    为什么Spark比MapReduce快。

    使用SparkSQL代替Hive,更快的运行SQL。

    使用Kafka完成数据的一次收集,多次消费架构。

    自己可以写程序完成Kafka的生产者和消费者。

    前面的学习已经掌握了大数据平台中的数据采集、数据存储和计算、数据交换等大部分技能,而这其中的每一步,都需要一个任务(程序)来完成,各个任务...

  • ?

    大数据分析与数据分析的根本区别在哪里?

    绮琴

    展开

    作者:CDA数据分析师

    大数据分析与数据分析这几年一直都是个高频词,很多人都开始纷纷转行到这个领域,也有不少人开始跃跃欲试,想找准时机进到大数据或数据分析领域。如今大数据分析和数据分析火爆,要说时机,可谓处处都是时机,关键要明了的一点是,大数据分析和数据分析两者的根本区别在哪里,只有真正了解了,才会知晓更加适合自己的领域是大数据分析师还是数据分析师。毕竟职场如战场,时间就是生活,不容儿戏,更不容怠慢。下面我来好好告诉大家两者的本质区别到底是什么!

    大数据分析:指无法在可承受的时间范围内用常规软件工具进行捕捉、管理和处理的数据集合。是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。

    在维克托·迈尔-舍恩伯格及肯尼斯·库克耶编写的《大数据时代》 中大数据分析指不用随机分析法(抽样调查)这样的捷径,而采用所有数据进行分析处理,因此不用考虑数据的分布状态(抽样数据是需要考虑样本分布是否有偏,是否与总体一致)也不用考虑假设检验,这点也是大数据分析与一般数据分析的一个区别。

    数据分析是指用适当的统计分析方法对收集来的大量数据进行分析,提取有用信息和形成结论而对数据加以详细研究和概括总结的过程。

    大数据分析与数据分析最核心的区别是处理的数据规模不同,由此导致两个方向从业者的技能也是不同的。在CDA人才能力标准中从理论基础、软件工具、分析方法、业务分析、可视化五个方面对数据分析师与大数据分析师进行了定义。

    【数据分析师的要求】

    数据分析师的理论要求:统计学、概率论和数理统计、多元统计分析、时间序列、数据挖掘。

    工具要求:必要:Excel、SQL可选:SPSS MODELER、R、Python、SAS等

    分析方法要求:除掌握基本数据处理及分析方法以外,还应掌握高级数据分析及数据挖掘方法(多元线性回归法,贝叶斯,神经网络,决策树,聚类分析法,关联规则,时间序列,支持向量机,集成学习等)和可视化技术。

    业务分析能力:可以将业务目标转化为数据分析目标;熟悉常用算法和数据结构,熟悉企业数据库构架建设;针对不同分析主体,可以熟练的进行维度分析,能够从海量数据中搜集并提取信息;通过相关数据分析方法,结合一个或多个数据分析软件完成对海量数据的处理和分析。

    结果展现能力:报告体现数据挖掘的整体流程,层层阐述信息的收集、模型的构建、结果的验证和解读,对行业进行评估,优化和决策。

    【大数据分析师的要求】

    理论要求:统计学、概率论和数据库、数据挖掘、JAVA基础、Linux基础。

    工具要求:必要: SQL、Hadoop、HDFS、Mapreduce、Mahout、Hive、Spark可选:RHadoop、Hbase、ZooKeeper等

    分析方法要求:熟练掌握hadoop集群搭建;熟悉nosql数据库的原理及特征,并会运用在相关的场景;熟练运用mahout、spark提供的进行大数据分析的数据挖掘算法,包括聚类(kmeans算法、canopy算法)、分类(贝叶斯算法、随机森林算法)、主题推荐(基于物品的推荐、基于用户的推荐)等算法的原理和使用范围。

    业务分析能力:熟悉hadoop+hive+spark进行大数据分析的架构设计,并能针对不同的业务提出大数据架构的解决思路。掌握hadoop+hive+ Spark+tableau平台上Spark MLlib、SparkSQL的功能与应用场景,根据不同的数据业务需求选择合适的组件进行分析与处理。并对基于Spark框架提出的模型进行对比分析与完善。

    结果展现能力:报告能体现大数据分析的优势,能清楚地阐述数据采集、大数据处理过程及最终结果的解读,同时提出模型的优化和改进之处,以利于提升大数据分析的商业价值。

    综上大数据分析与数据分析的根本区别就是分析的思维与分析所用的工具不同。大家在求职或转行过程认清自己对两者的偏好和自己的兴趣所在,以及自己的能力更适合在哪个领域发挥,还有自己所在城市对两者的职业需求,综合天时地利人和三个条件,我们才能做出更理智更客观更科学的抉择。

大数据分析是

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

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

img

在线咨询

建站在线咨询

img

微信咨询

扫一扫添加
动力姐姐微信

img
img

TOP