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

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

    Shanon

    展开

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

    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以及遍布地球各个角落的各种各样的传感器,无一不是数据来源或者承载的方式。

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

  • ?

    大数据的入门级学习

    陆荧

    展开

    1.Linux基础和分布式集群技术

    学完此阶段可掌握的核心能力:

    熟练使用Linux,熟练安装Linux上的软件,了解熟悉负载均衡、高可靠等集群相关概念,搭建互联网高并发、高可靠的服务架构;

    学完此阶段可解决的现实问题:

    搭建负载均衡、高可靠的服务器集群,可以增大网站的并发访问量,保证服务不间断地对外服务;

    学完此阶段可拥有的市场价值:

    具备初级程序员必要具备的Linux服务器运维能力。

    1.内容介绍:关注作者:需要大数据学习视频资料可以加我QQ群,此文里面连起来的数字,你会找到我的

    在大数据领域,使用最多的操作系统就是Linux系列,并且几乎都是分布式集群。该课程为大数据的基础课程,主要介绍Linux操作系统、Linux常用命令、Linux常用软件安装、Linux网络、防火墙、Shell编程等。

    2.案例:搭建互联网高并发、高可靠的服务架构。

    2.离线计算系统课程阶段

    1. 离线计算系统课程阶段

    Hadoop核心技术框架

    学完此阶段可掌握的核心能力:欢迎加入722680258零基础到项目实战

    1、通过对大数据技术产生的背景和行业应用案例了解hadoop的作用;2、掌握hadoop底层分布式文件系统HDFS的原理、操作和应用开发;3、掌握MAPREDUCE分布式运算系统的工作原理和分布式分析应用开发;4、掌握Hive数据仓库工具的工作原理及应用开发。

    学完此阶段可解决的现实问题:

    1、熟练搭建海量数据离线计算平台;2、根据具体业务场景设计、实现海量数据存储方案;3、根据具体数据分析需求实现基于mapreduce的分布式运算程序;

    学完此阶段可拥有的市场价值:

    具备企业数据部初级应用开发人员的能力

    1.1 HADOOP快速入门

    1.1.1 hadoop知识背景

    什么是hadoop、hadoop产生背景、hadoop在大数据云计算中的位置和关系、国内hadoop的就业情况分析及课程大纲介绍

    国内外hadoop应用案例介绍

    分布式系统概述、hadoop生态圈及各组成部分的简介

    1.1.2 HIVE快速入门

    hive基本介绍、hive的使用、数据仓库基本知识

    1.1.3 数据分析流程案例

    web点击流日志数据挖掘的需求分析、数据来源、处理流程、数据分析结果导出、数据展现

    1.1.4 hadoop数据分析系统集群搭建

    集群简介、服务器介绍、网络环境设置、服务器系统环境设置、JDK环境安装、hadoop集群安装部署、集群启动、集群状态测试

    HIVE的配置安装、HIVE启动、HIVE使用测试

    1.2 HDFS详解

    1.2.1 HDFS的概念和特性

    什么是分布式文件系统、HDFS的设计目标、HDFS与其他分布式存储系统的优劣势比较、HDFS的适用场景

    1.2.2 HDFS的shell操作

    HDFS命令行客户端启动、HDFS命令行客户端的基本操作、命令行客户端支持的常用命令、常用参数介绍

    1.2.3 HDFS的工作机制

    HDFS系统的模块架构、HDFS写数据流程、HDFS读数据流程

    NAMENODE工作机制、元数据存储机制、元数据手动查看、元数据checkpoint机制、NAMENODE故障恢复、DATANODE工作机制、DATANODE动态增减、全局数据负载均衡

    1.2.4 HDFS的java应用开发

    搭建开发环境、获取api中的客户端对象、HDFS的java客户端所具备的常用功能、HDFS客户端对文件的常用操作实现、利用HDFS的JAVA客户端开发数据采集和存储系统

    1.3 MAPREDUCE详解

    1.3.1 MAPREDUCE快速上手

    为什么需要MAPREDUCE、MAPREDUCE程序运行演示、MAPREDUCE编程示例及编程规范、MAPREDUCE程序运行模式、MAPREDUCE程序调试debug的几种方式

    1.3.2 MAPREDUCE程序的运行机制

    MAPREDUCE程序运行流程解析、MAPTASK并发数的决定机制、MAPREDUCE中的combiner组件应用、MAPREDUCE中的序列化框架及应用、MAPREDUCE中的排序、MAPREDUCE中的自定义分区实现、MAPREDUCE的shuffle机制、MAPREDUCE利用数据压缩进行优化、MAPREDUCE程序与YARN之间的关系、MAPREDUCE参数优化

    通过以上各组件的详解,深刻理解MAPREDUCE的核心运行机制,从而具备灵活应对各种复杂应用场景的能力

    MAPREDUCE实战编程案例:通过一个实战案例来熟悉复杂MAPREDUCE程序的开发。该程序是从nginx服务器产生的访问服务器中计算出每个访客的访问次数及每次访问的时长。原始数据样例如下:

    通过一系列的MAPREDUCE程序——清洗、过滤、访问次数及时间分析,最终计算出需求所要的结果,用于支撑页面展现:

    1.4 HIVE增强

    1.4.1 HIVE基本概念

    HIVE应用场景、HIVE内部架构、HIVE与hadoop的关系、HIVE与传统数据库对比、HIVE的数据存储机制、HIVE的运算执行机制

    1.4.2 HIVE基本操作

    HIVE中的DDL操作、HIVE中的DML操作、在HIVE中如何实现高效的JOIN查询、HIVE的内置函数应用、HIVE shell的高级使用方式、HIVE常用参数配置、HIVE自定义函数和TRANSFORM的使用技巧、HIVE UDF开发实例

    1.4.3 HIVE高级应用

    HIVE执行过程分析及优化策略、HIVE在实战中的最佳实践案例、HIVE优化分类详解、HIVE实战案例--数据ETL、HIVE实战案例--用户访问时长统计

    HIVE实战案例--级联求和报表实例:

    离线数据挖掘系统

    学完此阶段可掌握的核心能力:

    1、通过对数据仓库知识的加强初步掌握数据仓库的核心概念和设计流程;2、通过对HADOOP生态圈关键辅助工具的学习掌握hadoop分析系统的整合能力;3、通过电商系统点击流日志数据挖掘系统实战项目,掌握hadoop离线数据挖掘系统从数据采集、入库、分析及报表展现的整套流程

    学完此阶段可解决的现实问题:

    1、可根据企业具体场景设计海量数据分析系统的通用架构2、根据具体场景的特点有针对性地调整数据分析各环节的技术选型;3、根据具体需求搭建起整套离线数据分析系统;4、简单数据仓库模型的设计和架构5、各环节具体功能模块的开发实现

    学完此阶段可拥有的市场价值:

    具备企业数据部中高级应用开发和初级架构师能力

    2.1 数据仓库增强

    2.1.1 数据仓库及数据模型入门

    什么是数据仓库、数据仓库的意义、数据仓库核心概念、数据仓库的体系结构

    2.1.2 数据仓库设计

    建立数据仓库的步骤、数据的抽取、数据的转换、数据的加载、什么是数据模型、数据模型的常见类型、如何设计数据模型、如何选择数据建模的架构

    典型数据模型——星型建模实例

    2.1.3 数据仓库建模样例

    业务建模、领域建模、逻辑建模、物理建模

    web点击流日志分析系统数据仓库设计实战:

    通过对数据特点和业务需求的分析,关系梳理,设计出一个主题明确、层次合理的数据模型

    2.2 离线辅助系统

    2.2.1 数据采集系统

    数据采集概念介绍

    FLUME日志采集框架介绍、FLUME工作机制、FLUME核心组件、FLUME参数配置说明、FLUME采集nginx日志实战案例

    2.2.2 任务调度系统

    任务调度系统概念介绍、常用任务调度工具比较、OOZIE介绍、OOZIE核心概念、OOZIE的配置说明、OOIZE实现mapreduce/hive等任务调度实战案例

    2.2.3 数据导出

    数据导出概念介绍、SQOOP基础知识、SQOOP原理及配置说明、SQOOP数据导入实战、SQOOP数据导出实战、SQOOP批量作业操作

    2.3 web点击流日志分析系统实战项目

    2.3.1 项目介绍

    1. 在PC时代,营销的核心是购买,在移动互联网时代,其核心是如何实现用户个性化互动,对用户传播更为精准化的内容,而实现这一核心的基础就是对数据的管理和分析——数据驱动型商业模型。

    2. 各类互联网服务产品(如网站、APP)都可以通过前端技术获取用户的详细行为数据(如访问的页面,点击的区域、登陆的频次、注册行为、购买的行为等),将这些点击流日志数据与后台商业数据综合起来,就可以挖掘对公司运营决策意义非凡的商业价值。

    3. 本项目则是一个用大数据技术平台实现的点击流日志分析数据挖掘系统,项目内容涵盖一个典型数据挖掘系统中,包括需求分析、数据采集、数据存储管理、数据清洗、数据仓库设计、ETL、业务模型统计分析、数据可视化的全部流程。

    2.3.2 需求分析

    什么是点击流日志、点击流日志的商业价值、点击流日志分析需求

    业务模型指标体系设计——流量分析、来源分析、受访分析、访客分析、转化率分析

    2.3.3 系统设计及开发

    1. 系统架构设计

    2. 数据采集设计及开发——数据格式、数据内容分析、数据生成规律、采集系统技术选型解析、FLUME采集系统实现

    3. 数据存储设计及开发——存储技术选型、存储业务流程解析、存储目录规划及文件命名规则、小文件合并实现

    4. 数据统计设计及开发——数据预处理、数据加载、原始数据表的创建、数据入库、数据ETL

    5. 报表统计设计——数据模型设计、事实表设计、维度表梳理

    6. 业务指标设计及开发——PV统计(时间维度、终端维度、地域维度)、来访次数统计(时间维度、地域维度、终端维度)、独立访客统计(时间维度、终端维度、地域维度)、受访页面统计(时间维度、栏目维度)、页面热点图、转化率分析、来源关键词分析、来源搜索引擎分析、来源广告推广分析

    2.3.4 任务调度系统设计实现

    任务调度单元实现、各环节任务运行频次及依赖关系梳理、工作流设计及实现、工作流定义配置上传部署、工作流启动即状态监控

    2.3.5 数据可视化——结果报表展现

    1. hive分析结果使用sqoop导出到msyql数据库

    2. 报表展现系统技术选型:

    后台使用spingmvc + spring + mybatis

    前端页面使用全静态异步刷新技术jQuery + Echarts

    3. web展现程序架构搭建,使用maven构建项目工程

    4. web展现程序页面设计开发:原型页面设计、js代码开发

    5. 最终实现以下数据可视化效果:

    (1)流量概况可视化效果:

    (2)来源地域分析可视化效果:

    (3)来源类型分析可视化效果:

    3.Storm实时计算部分阶段

    实时课程分为两个部分:流式计算核心技术和流式计算计算案例实战。

    1.流式计算核心技术

    流式计算核心技术主要分为两个核心技术点:Storm和Kafka,学完此阶段能够掌握Storm开发及底层原理、Kafka的开发及底层原理、Kafka与Storm集成使用。具备开发基于storm实时计算程序的技术能力。

    学完此阶段可掌握的核心能力:

    (1)、理解实时计算及应用场景

    (2)、掌握Storm程序的开发及底层原理、掌握Kafka消息队列的开发及底层原理

    (3)、具备Kafka与Storm集成使用的能力

    学完此阶段可解决的现实问题:

    具备开发基于storm的实时计算程序的能力

    学完此阶段可拥有的市场价值:

    具备实时计算开发的技术能力、但理解企业业务的能力不足

    1.1、流式计算一般结构

    2011年在海量数据处理领域,Hadoop是人们津津乐道的技术,Hadoop不仅可以用来存储海量数据,还以用来计算海量数据。因为其高吞吐、高可靠等特点,很多互联网公司都已经使用Hadoop来构建数据仓库,高频使用并促进了Hadoop生态圈的各项技术的发展。一般来讲,根据业务需求,数据的处理可以分为离线处理和实时处理,在离线处理方面Hadoop提供了很好的解决方案,但是针对海量数据的实时处理却一直没有比较好的解决方案。就在人们翘首以待的时间节点,storm横空出世,与生俱来的分布式、高可靠、高吞吐的特性,横扫市面上的一些流式计算框架,渐渐的成为了流式计算的首选框架。如果庞麦郎在的话,他一定会说,这就是我要的滑板鞋!

    上图是流式分析的一般架构图,抽象出四个步骤就是数据采集、数据缓冲、数据处理、数据输出。一般情况下,我们采用Flume+kafka+Storm+Redis的结构来进行流式数据分析。实时部分的课程主要是针对Kafka、Storm进行学习

    1.2、流式计算可以用来干什么

    一淘-实时分析系统:实时分析用户的属性,并反馈给搜索引擎。最初,用户属性分析是通过每天在云梯上定时运行的MR job来完成的。为了满足实时性的要求,希望能够实时分析用户的行为日志,将最新的用户属性反馈给搜索引擎,能够为用户展现最贴近其当前需求的结果。

    携程-网站性能监控:实时分析系统监控携程网的网站性能。利用HTML5提供的performance标准获得可用的指标,并记录日志。Storm集群实时分析日志和入库。使用DRPC聚合成报表,通过历史数据对比等判断规则,触发预警事件。

    一个游戏新版本上线,有一个实时分析系统,收集游戏中的数据,运营或者开发者可以在上线后几秒钟得到持续不断更新的游戏监控报告和分析结果,然后马上针对游戏的参数和平衡性进行调整。这样就能够大大缩短游戏迭代周期,加强游戏的生命力。

    实时计算在腾讯的运用:精准推荐(广点通广告推荐、新闻推荐、视频推荐、游戏道具推荐);实时分析(微信运营数据门户、效果统计、订单画像分析);实时监控(实时监控平台、游戏内接口调用)

    为了更加精准投放广告,阿里妈妈后台计算引擎需要维护每个用户的兴趣点(理想状态是,你对什么感兴趣,就向你投放哪类广告)。用户兴趣主要基于用户的历史行为、用户的实时查...

  • ?

    地图开发科普篇:如何利用大数据技术处理海量GPS数据

    柯尔容

    展开

    我秀中国物联网地图服务平台目前接入的监控车辆近百万辆,每天采集GPS数据7亿多条,产生日志文件70GB,使用传统的数据处理方式非常耗时。

    比如,仅仅对GPS做一些简单的统计分析,程序就需要几个小时才能跑完一天的数据,完全达不到实时分析的要求,更无法对数据进行一些深层次的挖掘。

    另外历史数据的存储也是一个亟待解决的问题,目前大多采用的方式是将日志文件进行压缩后上传到服务器上进行存储。

    这种方式既原始又不可靠,一是需要作业员每天定时手动上传数据,操作不方便;二是一旦存储数据的服务器出现问题,可能会造成大量数据的丢失,造成不可挽回的损失。

    随着大数据技术的成熟和普及,我们发现借助于大数据技术可以完美的解决上述问题。根据目前的需求和对大数据相关软件的掌握,我们对GPS日志分析系统做了初步的设计,架构如下图所示:

    大数据日志分析主要是对开源大数据组件进行整合开发而成,分为:数据采集层、数据预处理层、数据存储层、数据处理层和数据分析层等5个层次。

    01、数据采集层

    数据采集层主要利用开源组件Flume对日志文件进行采集。Flume是一个分布式、高可靠、高可用的海量日志采集软件,支持定制各类的数据发送方,在收集数据的同时能够对数据进行简单的处理,然后写到各种数据接收方。

    目前我们是对Flume采集的日志文件做两个操作,一是直接发送给kafka进行缓存,二是将数据进行压缩后写入HDFS供之后的分析用。

    02、数据预处理

    数据预处理主要对日志文件进行初步的简单处理。目前采用Storm从Kafka接收数据,然后对数据进行实时统计。

    Storm是一个分布式、容错的实时计算系统。它的编程模型非常简洁,主要包括三个组件:Topology、Spout和Bolt。Topology是一个由多个计算节点构成的拓扑图,Spout和Bolt是两种结算节点,它们一起构成了一个完整的数据流向图。

    03、数据存储层

    数据存储层主要用于数据的存储。目前采用MongoDB存储结果数。

    通过Storm处理后的数据,首先缓存到Redis中,每隔一定得时间间隔,将数据批量转存到MongoDB中。

    MongoDB是一个高性能、易部署、易使用的分布式数据存储系统,介于结构化数据库和非结构化数据库之间,数据存储格式不固定,可以非常方便的进行扩充。

    04、数据处理层

    数据处理层主要采集一些数据挖掘算法对数据进行挖掘,或者进行实时计算。

    数据挖掘主要借助于统计学方法、机器学习方法、神经网络方法等对数据进行知识挖掘,发掘潜在的价值。

    比如利用线性回归算法,预测车辆的停留时间。利用k-means算法对位置临近的出租车做聚类分析,从而发现最有可能搭载乘客的热点区域。根据速度将轨迹数据进行分段,从而分析某个时间段的道路畅通状况等。

    05、数据分析层

    数据分析层主要是数据的展示和分析。

    比如将GPS数据加载到地图上,利用抓路算法将GPS数据和地图数据进行融合,对分段的轨迹进行不同颜色的显示,可以让调度人员对当前时间段的道路通行情况一目了然,辅助车辆的调度。

    我们不断提高自身数据处理能力,就是为了给您提供更快速、更精准、更丰富的数据分析功能。

  • ?

    什么叫大数据分析

    葛明轩

    展开

    大数据行业发展如火如荼,国家政策利好,互联网大佬纷纷在大数据行业布局,我们想让自己的职业生涯在一个朝阳行业发展,肯定又要学习相关技术,让自己与时俱进,但是难就难在大数据是一个新兴事物,目前我国大学的专业里面还鲜少有这个专业,国家刚批的大数据专业,全国目前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的生产者和消费者。

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

  • ?

    大数据分析—Redis介绍

    蝎子王

    展开

    在大数据分析架构里,一般是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数据结构

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

  • ?

    千亿级数量下日志分析系统的技术架构选型

    世界

    展开

    随着数据已经逐步成为一个公司宝贵的财富,大数据团队在公司往往会承担更加重要的角色。大数据团队往往要承担数据平台维护、数据产品开发、从数据产品中挖掘业务价值等重要的职责。所以对于很多大数据工程师,如何根据业务需求去选择合适的大数据组件,做合适的大数据架构工作就是日常工作中最常遇到的问题。在这里根据七牛云在日增千亿级的日志分析工作,和大家分享一下大数据技术架构选型的一些经验。

    大数据架构师在关注什么

    在一个大数据团队中,大数据架构师主要关注的核心问题就是技术架构选型问题。架构选型问题一般会受到哪些因素的影响呢?在我们的实践中,一般大数据领域架构选型最受以下几个因素影响:

    数据量级

    这一点在大数据领域尤其是一个重要的因素。不过从根本上讲,数据量级本身也是一种业务场景的衡量。数据量级的不同往往也就昭示着业务场景的不同。

    业务需求

    经验丰富的大数据架构师能够从纷繁的业务需求中提炼出核心技术点,根据抽象的技术点选择合适的技术架构。主要的业务需求可能包括:应用实时性要求、查询的维度和灵活程度、多租户、安全审计需求等等。

    维护成本

    这一点上大数据架构师一方面要能够清楚的了解各种大数据技术栈的优劣势,在满足业务需求的要求下,能够充分的优化架构,合理的架构能够降低维护的成本,提升开发的效率。

    另一方面, 大数据架构师要能清楚的了解自己团队成员,能了解其他同学的技术专长和品位,能够保证自己做的技术架构可以得到认可和理解,也能得到最好的维护和发展。

    接下来我们会围绕这几个方面去看看,做一个最适合自己团队业务的架构选型会如何受到这些因素的影响?

    技术架构选型

    业务需求是五花八门的,往往影响我们做技术选型的不是种种需求的细节,而是经过提炼后的一些具体的场景。就好比,业务需求提出我们要做一个日志分析系统,或者要做一个用户行为分析系统,这些具体需求背后我们要关注哪些具体的点?这是一个很有趣的问题,我们在做大数据的过程中,常发现我们对这些需求的疑问很多时候会落在以下几个问题上。

    其中数据量级作为一个重要的因素影响着我们对于技术选型的决定,另外在数据量的变化之外各种业务场景的需要也会影响我们对技术组件的选择。

    数据量级

    如同我们上文中提到的,数据量级这个指标是一个特殊的业务场景的衡量,也是在大数据应用中影响最大的一个因素。往往对应不同的数据量级的业务,我们会有不同的考虑方式。

    一般数据量级在 10GB 左右,数据总条数在千万量级的数据,这种数据往往是业务最核心的数据,如用户信息库等。这种数据量由于其核心的业务价值,往往要求强一致性和实时性。在这种量级上,传统关系型数据库如 MySQL 等都能很好的解决各种业务需求。当然如果面对关系型数据库难以解决的问题,比如全文索引等的时候,架构师还是需要根据业务需求选择 Solr 或者 Elasticsearch 等搜索引擎解决此类问题。

    如果数据量级增长到 1 亿到 10 亿级别的时候,一般来说这个阶段就会面临一个选择,是采用传统的 RDBMS+ 合理的索引+分库分表等各种策略呢?还是应该选择一些诸如 SQL On Hadoop 或者 HTAP、OLAP 组件呢?这时候灵活性其实还是相对比较大的,一般我们经验是,如果团队内有数据库及中间件方向的专家工程师,希望保持架构简单性,可以选择继续使用传统关系型数据。但是如果为了对未来业务有更高的扩展性,能够在可见的时间内支撑起更广泛的业务需求,还是建议选择使用大数据组件。

    当数据量已经增长到 10 亿到百亿级别,特别是 10TB 以上了之后,往往我们传统的关系型数据库基本就已经被我们排除在可选的技术架构之外了。这时候常常要结合各种业务场景去选择具体的场景的技术组件,比如我们要仔细审视,我们的业务场景是否是需要大量的更新操作?是否需要随机读写能力?是否需要全文索引?

    以上是一些主流的分析型引擎在各个数据量级下大致的表现结果,这个图表中的数据仅仅是在大部分场景下的一般表现情况(并非精确测试结果,仅供参考)。不过值得注意的是,虽然看起来我们总是希望响应时间越少越好,数据量级越高越好,但要知道大数据领域并没有银弹,能够解决所有的问题。每个技术组件都是牺牲了部分场景,才能在自己的领域中保持优势。

    实时性

    实时性是一个如此重要的因素,所以我们在一开始就必须要重点的考虑业务需求中对实时性的要求。业务中的实时性往往包含两方面的含义:

    一方面,实时性体现在数据摄入的实时性上,数据摄入的实时性指的是当业务数据发生变化时候,我们的大数据应用能接受多少的延迟能看到这个数据?从理想情况上来说,当然业务上无论如何都是希望系统越实时越好,但是从成本和技术上两方面去考量这个问题,我们一般分为实时系统(毫秒延迟)、近实时系统(秒级延迟)、准实时系统(分钟级延迟)和离线系统(小时级或者天延迟)。一般延迟时间和吞吐能力,和计算能力都是反比的,吞吐越强,计算越精确,延迟时间会更长。

    另一方面,实时性也体现在查询的延迟上面,这个延迟计算的是,用户发出查询请求之后,要等待多长时间,服务端能够返回计算结果。这个大部分情况下决定于产品的具体形态,如果这个产品是要给终端用户进行展示,比如风云榜、热搜榜、推荐商品等统计类产品,是要有很高的 QPS 需求的产品,必然会需要将延迟控制在亚秒级。在另一种场景下,如果一个产品是给数据分析师,或者运营人员进行数据探索使用,往往这时候会经过大规模且不可控制的计算,这时候可能更适合于一种离线任务的模式,用户的忍耐程度也会更高,支持分钟级甚至小时级别的数据输出。

    可以从这个图中看出,一般在实时领域会选择 HBase,Cassandra 这种能支持事务同时支持高更新吞吐量的技术组件,或者也可以选择 TiDB、Spanner、Kudu 等这种 HTAP 组件,同时支持事务和分析的分布式数据库。

    如果追求更高的分析性能,可以选择专业的 OLAP(On-Line Analytical Processing)组件,如 Kylin 或者 Druid,他们属于 MOLAP (Multi-dimensional OLAP),支持提前创建数据立方,对指标进行预聚合,虽然牺牲一定的查询灵活程度,但是保证了查询实时性。

    而 Elastic Search 是相对最为灵活的一个 NoSQL 查询引擎,一方面它支持全文索引,这个是其他引擎所不具备的。另外它也支持少量的更新,支持聚合分析,也支持明细数据的搜索查询,在近实时领域适用场景非常的多。不过由于 ES 是基于 Lucene 的存储引擎,相对需要资源成本会更高,而且分析性能对比其他引擎不具备优势。

    另外,如果我们的数据是离线或者追加的方式进行归档,同时产品形态需要依赖大批量数据的运算。这种产品往往可以忍受较高的查询延迟,那么 Hadoop 生态的一系列产品会非常适合这个领域,比如新一代的 MapReduce 计算引擎 Spark,另外一系列 SQL On Hadoop 的组件,Drill,Impala,Presto 等各有各自的优点,我们可以结合其他业务需求来选型。

    计算维度/灵活度

    计算维度和计算灵活度,这两个因素是对计算选型很重要的因素。试想一下,如果我们的产品只产出固定的若干指标项,我们完全可以使用 Spark 离线计算将数据结果导入到 MySQL 等业务数据库中,作为结果集提供展示服务。

    但当如果我们的查询是一个交互式的,如果用户能够自己选择维度进行数据聚合,我们无法将所有维度的排列组合都预计算出来,那这时候我们可能就需要的是一个 OLAP 组件,需要能够根据指定维度做指标预聚合,这种选型能增强结果展示的灵活度,也能大大降低查询的延迟。

    更深一步,用户如果不仅仅能够对数据指标进行计算,同时要能够查询到原始的明细数据,这时候可能 OLAP 组件不再适用,那么可能就需要到 ES 或者 SQL On Hadoop 这样更加灵活的组件。这时候如果有全文搜索需求,那么就选择 ES,如果没有就选择 SQL On Hadoop。

    多租户

    多租户需求也是一个大数据架构师经常需要考虑到的问题,多租户的需求往往是来源于许多不同的使用方,这种需求对于一个公司的基础架构部门非常常见。

    多租户要考虑哪些呢?

    第一是资源的隔离性,从资源节省的角度来看,肯定是不同租户之间资源可以共享的话,资源可以充分的利用起来。这也是我们一般做基础架构部门最希望做的工作。不过对于很多租户来说,可能业务级别更高,或者数据量更加的庞大,如果和普通的租户一起共享资源可能会造成资源争抢。这时候就要考虑物理资源的隔离。

    第二,就要考虑用户安全。一方面是要做认证,需要杜绝恶意或者越权访问数据的事情发生。另一方面要做好安全审计,每次敏感操作要记录审计日志,能够追溯到每次行为的来源 IP 和操作用户。

    第三但也是最重要的一点,就是数据权限。多租户系统并不仅仅意味着隔离,更加意味着资源能够更加合理有效的得到共享和利用。现在数据权限往往不能局限于一个文件、一个仓库的读写权限。更多的时候我们可能要对某个数据子集,某些数据字段进行数据授权,这样每个数据所有者能够将自己的资源更加安全的分发给需要的租户。将数据能够更加高效的利用起来,这也是一个数据平台/应用重要的使命。

    对于架构师而言大数据平台的维护成本是一个至关重要的指标,经验丰富的架构师能够结合自身团队的特点选择合适的技术方案。

    从上图可以看出大数据平台可以根据服务依赖(是依赖云服务还是自建大数据平台)和技术组件的复杂度分为四个象限。

    使用成本和技术组件复杂度成正比,一般来说组件复杂度越高,组件数量越多,多种组件配合使用成本会越高。

    维护成本和服务供应商以及组件复杂度都有关系,一般来说,单一的技术组件要比复杂的技术组件维护成本低,云服务提供的技术组件要比自建大数据组件维护成本要更低。

    团队要求来说,一般来说与使用成本趋同,都是技术组件越复杂,团队要求越高。不过另一方面团队要求与服务供应商也存在关系,如果云服务厂商能够承担起组件的运维工作,实际上是可以帮助业务团队从运维工作中解放出更多的工程师,参与到大数据应用的工作中。

    所以一般来说,架构师对于技术选型的偏好应该是,在满足业务需求和数据量需求的前提下,选择技术架构最简单的,因为往往这种选型是最容易使用和维护的。在这个基础上,如果有一支非常强大的技术开发和运维团队,可以选择自建大数据平台;如果缺乏足够的运维、开发支撑,那么建议选择云服务平台来支撑业务。

    七牛云是如何做架构选型的

    七牛云的大数据团队叫做 Pandora,这只团队的主要工作就是负责七牛云内的大数据平台需求的支撑工作,另外也负责将大数据平台产品化,提供给外部客户专业的大数据服务。可以说七牛云就是 Pandora 的第一个客户,我们很多技术选型经验也是在承载公司内部各种需求积累起来的。

    七牛云的特色和业务挑战

    简单的介绍下我们在七牛云场景下面临的各种挑战。七牛云除了 Pandora 之外还有六个产品团队,包括云存储、直播云、CDN、智能多媒体 API 服务以及容器云团队。所有产品团队所产生的业务数据和日志数据都要通过 Pandora 自研的收集工具 logkit(专业版)收集到 Pandora 的统一日志存储中来。而后各个部门都利用这部分的数据做各种数据应用。

    首先商业运营部门是背负了七牛云整个营收和增长的重要使命的团队,需要各个团队收集起来的埋点和日志数据,制作统一的用户视图,基于此制作用户画像。为客户提供更加贴身的运营服务,提升客户的满意度。

    另外 SRE 团队,需要对线上系统做深入的性能追踪,这边需要我们提供 OpenTracing 接口的支持,在七牛云技术栈相对统一的环境下,我们很方便地支持全链路监控,由此 SRE 部门不依赖于研发团队埋点即可以对线上的服务性能进行追踪监控,更易得知服务哪里出现问题。

    产品研发这边提出了需要全文索引的需求,在每日近百 TB 的日志中需要能够根据关键词快速定位日志数据,同时能够查询日志上下文。不仅如此,还需要能够解析出 APP 日志中的关键字段,比如用户 id 和响应时间、下载流量等,能够做用户级别的运维指标监控,能够更加精准的为客户服务。

    当然无论是哪一个业务部门提出的需求,他们都需要有优秀灵活的报表展示系统,能够支撑业务做分析、探索和决策。基于合理的架构要能支撑复杂的业务报表和 BI 需求。

    在七牛云的架构落地

    综合考虑了各方的产品需求,我们做了如下的产品设计:

    我们首先自研了 logkit 专业版,用来专业收集、同步各种开源项目或者日志文件的数据。另外设计了一套数据总线 Pipeline,结合了七牛云的数据吞吐量超大,但延迟可以接受到秒级的延迟的特点。这里我们采用了多 Kafka 集群 + Spark Streaming,自研了流量调度系统,可以将数据高效的导出到下游...

  • ?

    支付行业,如何通过日志大数据实现深度分析及风控

    戚思菱

    展开

    本文主要讲述针对支付行业,日志易产品如何通过日志大数据实现业务深度分析及风险控制。

    伴随新的支付方式出现,近年来移动支付蓬勃发展,如何分析、利用海量交易数据,已成为当前支付企业面对的巨大难题。日志作为数据的载体,蕴含着丰富的信息,传统的日志分析方式低效而固化,无法应对数据体量大、格式不统一、增长速度快的现状,在交易出现异常及失败时,更难以满足实时处理、快速响应的需求。

    本文讲述某支付公司采用日志易后,通过日志大数据实现业务深度分析及风险控制的实践经验。

    图片来自:前瞻网

    本次分享结合企业自身对支付行业的理解,将支付行业的需求总结为以下三点:

    一、监管合规

    1、人民银行对支付机构的日志审计和安全合规规定;

    2、开发访问日志的权限管理。

    二、安全性

    安全是支付公司非常重视的,安全风险有时会引起一些舆论导向,比如某些金融机构案件被媒体标注为特别关注;某某支付公司发现了资金线的问题,消费者的钱不知去向等,这些都是一个社会的关注的焦点。结合市场风险及大环境,支付行业的安全性需求具体表现在:

    1、支付交易的安全性要求;

    2、数据访问的安全性要求;

    3、防止敏感信息的泄露等。

    对支付行业来说,日志易产品在数据访问、权限要求等方面体现出很好的应用价值。

    三、可靠性

    1、定位及解决问题的时效性;

    2、系统流程的可靠性。

    众多支付公司,当前做的产品主要针对新兴支付行业,特别是当前较热门的移动支付。那么移动支付的优势在哪里?最主要的是便捷,而便捷的基础就是时效性强,可靠性高。为了更好发挥移动支付的便捷,支付公司对时效性,可靠性的要求很高,而这才是使用日志易大数据分析平台的深层次原因,日志易帮支付公司解决了最根本的行业需求,在可靠性方面展现了产品的价值。

    支付公司日常业务方面的需求,涉及到以下场景:

    1、多种不同的访问失败类型进行分类;

    2、每天需要做应答码的统计排名、占比以及走势图;

    3、每个分类统计结果在一张图分别展示每个应答码趋势;

    4、统计当日支付失败数量并分析;

    5、需要导出访问失败类型的汇总统计表;

    6、成功交易占比分析。

    该公司原有的解决方案存在一定的局限性,比如:手动工作耗时量大、实时性差、人为造成失误、分析维度不能灵活变动及决策滞后等等。

    支付公司有时会根据业务需要,对数据进行收集、清理,包括日志数据的清理等。当人为参与数据操作过多时,会引起部分意想不到的失误,从而引发问题。另外一点就是,原有方案实时性差,会导致公司的很多业务流程优化非常滞后。支付行业IT人都知道,支付的维度是非常非常多的,做任何一笔支付,基础维度包括时间、金额、笔数等,还会有像交易地点、客户习性或者说需要根据支付数据研究客户的习性等等。一家支付公司不可能单纯做一个支付产品,所以支付产品包罗万象,聚合起来维度就更为复杂。

    面对支付企业众多需求和行业的原有解决方案的短板,客户选择部署日志易产品后,实现了如下功能:

    1、各交易系统中每笔交易的状态等信息,按时间戳归类进行分析统计、实时报表展示;

    2、根据日志易实时统计的多个维度的报表、图表,更准确的做出故障点判断;

    3、决策层更直观的看到每天、每周、每种交易类型的故障高峰期及故障问题分布。

    图1 日志易解决方案

    该支付公司使用日志易产品实现的解决方案及一些需求:

    1、产品角度来说,第一就是优化,充分满足客户需求,提升用户体验,第二是产品分析,第三是数字营销方面的要求;

    2、从业务流程的角度或者说从合规角度来说,第一就是我们的业务流程分析,第二是后续的设备性能管理方面的要求。第三是合规方面的要求,最后是运维系统的预防性维护工作;

    3、从日志易的数据收集角度来说,产品可以从支付公司的业务数据,也就是从交易数据抽取,然后可以从运维方面的IT数据、安全数据抽取,甚至可以从物联网去抽取一些数据。

    图2交易失败及类型统计可视化界面

    图2是基于一些测试数据的呈现,因为支付有敏感性的要求,图标显示的ACP是随便举的一个渠道的简称。其中,对于一些访问,包括一些支付的实地情况可以做一个可视化的分析。上图呈现的一些可视化分析,包括对实时支付进行快速分析,统计其状态码,可以对其进行排名统计,做相关告警监控。

    伴随产品的深入应用,日志易产品也会被接入到支付全流程分析和监控。

    图3图表示例

    电子支付如今已渗透入网购、转账、生活缴费、基金债券等居民的日常生活中,关系着国家经济及居民的生活质量,可谓任重而道远。日志易作为国内首家海量日志分析企业,一直致力于开发一款配置方便、功能强大的日志管理工具,以高品质的产品为金融行业用户信息化建设搭建高可靠平台,共同面对数字浪潮中更多的未知与挑战,实现支付企业对日志分析管理产品高效、实时、安全的需求。

  • ?

    日志易:提供大数据日志解决方案,助力企业实现智能运维

    旧思绪

    展开

    在早期日志分析行业中,手工分析是处理日志的主要手段,但这种方式找漏洞效率低、问题多。随着企业逐渐发展,日志数据不断增多,手工分析已经不足以满足企业的需求。因此,日志数据分析行业急需一种能够更高效、更准确处理日志的工具。而此时,相比国外有Splunk、SumoLogic、Loggly等多家企业,国内却尚未出现可以满足大数据量需求的日志分析产品。

    猎云网近日接触到的日志易,其创始人陈军从美国南加州大学硕士毕业后,就在思科、googl、腾讯等企业一直从事日志相关工作,对手工分析的不足深有体会,遂创办日志易,旨在提高日志分析效率,填补行业空白,为国内大企业提供了自己的日志分析服务。

    在企业面向的市场中,对IT要求足够高的大型企业都是日志易的目标客户,它们主要来源于三个行业,第一大类是金融业,包括银行、保险、基金、券商等,最近签下江苏银行、南京银行合同;第二大类是运营商行业,如移动、联通、电信等;第三类是能源行业,如国家电网、南方电网、中石油、中石化、中海油五大集团。

    目前,日志易主要有以下几大功能:

    第一:在企业内部建立一个集中管理日志的平台,并对日志进行运维监控及运维分析ITOA,随时监测异常并上报预警,辅助企业实现智能运维AIOps。

    第二:在安全审计领域,日志易也有相应的解决方案,依托安全信息事件管理SIEM和用户行为分析UBA进行安全审计。日志易可通过分析记录用户行为操作的日志,审计用户是否越权,是否有黑客入侵,以保障企业系统安全。

    第三:日志易可以进行商业分析,在业务系统运行时,可对交易数据和系统进行实时旁路分析,在不对业务系统造成压力的情况下,提高分析效率和及时性。

    据了解,在日志易产品发展方面,近年来公司已经在试图将人工智能与日志运维相结合。例如,日志易的最新版本加入了机器学习技术,进一步提高日志分析的效率,让运维管理更智能。

    日志易利用API将分析的场景固化为应用,然后将一个个的应用集合为类似于应用市场,实现分析解决方案应用化,产品平台化。陈军表示,“后续日志易还会不断地将人工智能算法运用到日志分析中。”

    据陈军介绍,日志易的技术团队占整个团队的百分之八十,在北京、上海、广州、深圳、南京、成都等地都设有自己的研发中心或销售售后服务中心,已逐渐形成了富有自身特色的销售生态体系。同时,他也向记者坦言,日志易在产品研发及市场销售方面还将加大投入。在未来,日志易将会逐步加强对其他区域的投入,如武汉、西安等地区,进一步提升产品服务能力。

    此外,日志易团队将A轮融资主要用于研发和销售两方面,未来还会在技术服务和技术支持方面加大投入力度。

    产品:日志易公司:北京优特捷信息技术有限公司网址:rizhiyi

  • ?

    数据可视化大屏+日志大数据分析平台,数据智能解决方案改变世界

    章依玉

    展开

    编者按:在云计算大数据技术日趋成熟的当今,数据挖掘分析与商业智能应用的价值越来越被企业所理解。企业通过对关键业务数据、客户信息以及日志数据的挖掘分析,可进行精准的客户画像并分析客户属性,更准确地发现目标客户和更多的营销机会(市场客户分析、交叉营销等),实现市场、渠道和产品的细分与创新,动态掌握复杂市场需求的变化,智能数据解决方案提升了市场竞争力。

    说到智能数据解决方案供应商,去年刚刚获得6000万元融资的“袋鼠云”最近可谓是“动作频频”,不仅多名前阿里核心技术人员强势加盟,更有硅谷留洋“博士团”鼎力回归,让“袋鼠云”这一新锐品牌迅速被数据行业“特别关注”。

    数据智能解决方案新锐品牌“袋鼠云”从数据资源规划及获取、数据质量分析及提升,到基于中台策略的数据整体建模以及数据的资产管理都有切实的解决方案,进一步帮助客户建立标签引擎的实体画像,从而帮助客户实施数据指标体系梳理计算(BI)和数据应用规划及实现(DI),最终用数据可视化大屏的形式呈现出来帮助实时决策。可以说“袋鼠云”的智能数据解决方案的产品线可谓“相当完整”。

    “袋鼠云”产品线构建了统一负载的全量数据分析平台与方案,统一的在线实时存储、处理、分析工具,支持PB级海量数据处理,可随业务需求线性扩展,为客户实现“即时刻画、秒级呈现”的数据可视化大屏呈现方式。

    记者采访中了解到,目前“袋鼠云”品牌在全产品线的智能数据分析解决方案中,日志大数据分析平台与数据可视化大屏即时呈现两大方面技术积累与产品优势十分明显。

    EasyLog日志大数据分析平台—用日志解析为企业做体检

    “我们将为客户从大量的数据日志项目中,根据客户业务现状清洗整理出切实可行的关键日志信息,做好日志数据挖掘和分析利用,充分在运维过程中给客户带来价值。” 袋鼠云在采访中给记者解释:“传统企业对于海量日志数据利用效能很低,而每次都靠IT人员查阅日志进行系统运维的方式既成本高昂而且运维稳定性很低,而采用了袋鼠云的日志大数据分析平台EasyLog就可以大大提升企业运维的效率,对于很多潜在的系统问题也能做到良好的预警。”

    据介绍,目前袋鼠云日志大数据分析平台EasyLog主要部署在大中型互联网企业以及互联网金融行业,也有大型的金融机构、电信运营商等等,这些行业都非常重视日志大数据对于企业运维的作用。

    同时袋鼠云日志大数据分析平台EasyLog也可帮助企业满足《中国网络安全法》日志归档要求、满足《公安部息系统安全等级保护》三级要求;

    袋鼠云向记者进一步介绍:“目前企业针对日志大数据分析应用有几种方案,一种是基于开源应用的ELK方案,另一种就是类似袋鼠云提供的日志大数据分析平台。前者由于是开源应用,因此企业的前期开发与后期维护成本比较高,也面临无可预计的开发风险,而后者袋鼠云日志大数据分析平台更像是一个“拎包入住”并自配资深管家的成熟方案平台,让客户省去很多后顾之忧。”

    而且在采访中记者了解到:“袋鼠云日志大数据分析平台,也有灵活的部署方式,既可以在客户方线下机房部署,也可以部署在云端服务,甚至针对小型企业袋鼠云还有SaaS版的轻量级产品,针对不同的客户可谓“面面俱到”。并且这样的金融级日志分析、AIOps平台,可用于故障定位、业务监控、安全审计等,袋鼠云日志有着可视化仪表盘、监控告警、数据脱敏、数据转发投递、多租户数据隔离等特色功能,可根据企业实际业务完成分析场景建设,以提升企业故障发现率、运维运营效率。

    “目前著名的互联网银行品牌新网银行在旗下十余个核心系统中均采用了袋鼠云的日志大数据分析平台EasyLog,从而提升了各业务系统故障发现率,同时极大降低故障处理时间,也成为了成功的众多案例之一。”采访中记者了解到。

    数据可视化实时大屏—实现企业数据化运营

    而作为袋鼠云全产品线中另一个亮点的“数据可视化实时大屏”也是目前炙手可热的技术,数据产生价值这个大方向让最后呈现的环节中的数据实时分析产生价值,呈现一切价值数据可视化,最终帮助提升生产效率、促进产业变革,通过客户产业创新让数据价值最大化。

    采访中记者了解到,袋鼠云数据可视化实时大屏目前主要服务的行业包括新零售、智能制造、智慧人社、以及业务快速增长的互联网创业公司等。

    采访中记者了解到,新零售方面一直是袋鼠云的强项。一方面借助营销引擎帮助品牌商打通线上线下的用户数据,实现精准营销。围绕客户的发展与持续经营,统一管理线上营销渠道,打通全域数据,通过数据个性化线下门店服务体验等,使企业与客户之间可随时无阻碍的连接。这些数据与分析都以精准实时的形式呈现在客户的可视化大屏之上,让客户从容决策。

    “要精准呈现数据可视化大屏的最佳效果,数据的实时性采集非常重要,袋鼠云实现了对TB级别甚至是PB级别数据的实时处理,实现秒级反馈是最基本的要求,这得益于袋鼠云的技术团队多数来自于阿里云,在实时数据计算处理与呈现方面有丰富的经验。”可视化大屏将企业实时数据即时呈现,比如电商平台的经营概况、用户画像等信息一目了然。

    编后:目前袋鼠云的团队已经超过 150 人,80% 左右为技术人员。当下更多的资深技术专家,包括美国回来的人工智能博士和一批专注企业服务多年的行业专家都纷纷加盟袋鼠云,让数据产生价值。无论是数据可视化实时大屏Easy[V]或是日志大数据分析平台EasyLog,智能数据解决方案最终让更多的数据产生价值,让未来变成现在,袋鼠云这一朝气蓬勃的品牌团队正在朝向探索未来数据价值之路上越跑越快。

    本文关注:日志大数据分析平台、数据可视化大屏、数据智能解决方案

    转载或分享请注明来源标题《数据可视化大屏+日志大数据分析平台,数据智能解决方案改变世界》

  • ?

    领诚科技大数据日志分析解决方案

    萧易梦

    展开

    日志分析,并非大数据“雕虫技”

    经过长期的信息化建设,企业积攒了成百上千套系统,每天产生海量的日志信息数据。然而,大量的日志信息往往被遗弃、或存放历史库中,未能有效发挥其价值。部分企业逐步意识到日志信息的重要性,部署了Tivoli等管理系统,但这种传统解决方案,对半结构和非结构化数据适应性极差,且局限于历史数据的统计展示,对日志数据的获取、使用和价值发挥均存在较严重的能力不足。

    造成这些日志分析窘境的原因,主要包含以下几点:

    日志数据的存储和维护成本高;

    日志记录格式不规范、不统一,导致整合困难;

    日志记录的垃圾数据较多,数据价值提炼困难且成本高;

    使用手段单一,多是对系统异常现状监测和核心数据备份;

    海量日志信息流转期长,时效性差。

    随着科技的飞速发展,大数据技术日趋成熟,在日志分析方面,大数据亦能大展雄威。领诚科技大数据日志分析解决方案,可望有力地改善企业日志分析的处境,全面发挥日志分析的业务价值。

    总体解决方案

    经过多年的潜心研究和实践,领诚科技对大数据技术及应用具有深刻的理解。大数据,并不仅是指数据存储量的巨大,更强调数据维度的全面和更快速的结果反馈。因此,我们需要从数据源的全面性、时效性和预测能力等多方面发力。

    大数据日志分析解决方案的核心思路如下:

    基于NoSQL等技术的数据存储系统,以适应数据源格式多样性和不统一,极大限度的促进数据的全面性。

    设计常规数据源API,通过拖拽的方式实现大部分数据的接入,降低多样数据源的接入成本和IT人员维护难度。

    采用分布式架构,通过廉价服务器集群方式来存储和计算海量日志数据。

    设计离线与实时分离的数据处理方式,实现对海量历史数据的和实时数据的分析,协助系统管理人员实现对问题的敏捷洞察,快速排查故障。

    集成开源的R、Python实现对日志数据的可视化和深度挖掘,从而完成对生产系统全面预警、监控、统计分析和故障排查。充分利用机器学习和人工智能分析方法,实现对关键问题预测分析,协助管理决策,全面提升企业信息化管理水平。

    整体架构示例图:

    针对不同企业的不同数据安全及系统管理要求,我们提供公共云与私有云两种部署方案。两种模式均提供丰富的API,可以对多种类型传统关系型数据库、非关系型数据库以及平面文件实现批量和实时的采集、整合和分析。

    相比私有云方案,公共云更具性价比,我们提供7×24小时托管服务,无需耗费大量资源运维底层系统。另外,去中心化的架构设计能够提升服务的稳定性。更有价值的是,我们内置大量常规分析模型和机器学习模型,能够有效降低企业预测分析与实时预警的门槛。

    公共云方案

    云端模式可以通过代理自动上传日志数据,通过云端分析平台统计和分析日志数据。

    公共云架构:

    私有云方案

    私有化云模式需要本地部署日志采集和分析平台,通过企业网络总线实现日志数据的集中,再由分析平台提供分析和预测服务。

    私有云架构:

    日志采集与整合

    针对不同企业的日志存储策略,我们提供丰富的API,可以对多种类型关系数据库、非关系数据库、XML文件和平面文件实现批量和实时采集。对于特殊日志格式,可以定制接口,最大限度保证数据的完整新。

    海量日志收集后经由平台统一进行分类整合。首先,对日志原始数据进行清洗,提高数据质量;其次,对数据进行标准化转换,统一格式和口径;然后,根据维度建模的策略对数据进行转换;之后,根据需求进行KPI计算;最后,根据分析需求建立不同主题的集市主题。

    存储与计算

    整合后的数据由分布式NoSQL和关系数据库存储与计算。这也是集中体现大数据优势技术的地方,分布式的策略极大的降低数据存储成本,相对其它开支几乎可以忽略不计。另一方面,处理海量数据的计算能力却极大提升,能够快速分析日志结果,从而减少系统运行问题带来的影响。除此以外,我们提出离线和实时数据分流的策略,进一步平衡实时性和成本的平衡。

    应用分析

    应用层面,提供多种可视化组件,通过拖拽式操作即可实现对日志数据敏捷展示、查询和多维分析。在此基础上,提供全面预警功能,可以通过邮件和短信等形式迅速反馈预警信息。同时,集成R和Python,满足数据挖掘、机器学习和人工智能分析需求,实现对关键问题的聚类分析和预测分析,全面提高日志数据的利用效率。

    学习示意图:

    日志分析是发现系统安全问题的重要手段之一,我们利用整合的日志数据,通过安全分析模型,利用机器学习相关算法,可以迅速洞察以下几种事件:受感染软件恶意传播,遭受入侵的系统,成功的攻击,内部人员违规操作,隐蔽通道或隐藏后门通信,高频探查。

    End.

大数据日志分析

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

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

img

在线咨询

建站在线咨询

img

微信咨询

扫一扫添加
动力姐姐微信

img
img

TOP