中企动力 > 商学院 > 大数据报表开发
  • ?

    久其成立产品中心,聚焦大数据与新一代报表研发,加速AI、区块链技术的落地

    腓特烈斯韦克

    展开

    日前,久其产品中心成立大会在久其软件亦庄总部隆重召开,这是久其首次以技术为出发点进行的重大组织机构调整,目标是打造以大数据为中心,打造数据采集、数据集成、数据存储、数据管理、数据挖掘、数据可视化、人工智能分析、数据服务的生态闭环,助力提升公司甚至软件行业整体产品设计及研发水平。

    数据已成为国家基础性战略资源,作为以数据为企业赋能的技术部门,久其产品中心将积极践行国发50号文件精神,推动大数据与云计算、物联网、移动互联网等新一代信息技术融合发展,探索大数据与传统产业协同发展的新业态、新模式,形成一批满足大数据重大应用需求的产品、系统和解决方案,建立安全可信的大数据技术体系,构建形成“政产学研用”多方联动、协调发展的大数据产业生态体系。

    产品中心的设立,集中了公司二十年来在人才、技术、产品、数据等多方面的优势资源,依托久其多年的报表和大数据技术积累,将跟踪大数据和人工智能领域等新技术,进行前瞻性技术研究,聚力于统一报表和大数据平台的研发,打造“久其大数据”产品和服务品牌, 推动产品的市场化。

    产品中心还将充分发挥久其的平台化技术优势,挖掘前台业务需求,实现“一处沉淀、多点支撑”,更好地服务集团各板块业务。并通过深入研究AI应用场景,为产品提供多样性的业务场景输入,提供场景化、智能化、市场化的行业解决方案。同时做到支撑大数据新场景、新应用的探索、落地,开拓新战略领地。

    久其软件创始人董泰湘女士出席大会,并携手负责人团队共同为产品中心揭牌。董泰湘女士对产品中心提出了明确要求:恪守“工匠精神”,本着“易用、实用、通用”原则,提供更多精品产品服务社会,成为国内一流的产品和解决方案供应商。

    -----------------

    久其智通为您提供最新的互联网科技动态及大数据解决方案,同时也是客户、合作伙伴和致力于大数据事业可爱的技术伙伴了解我们的渠道。

  • ?

    大数据的入门级学习

    Lamaara

    展开

    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聚合成报表,通过历史数据对比等判断规则,触发预警事件。

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

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

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

  • ?

    转行大数据的五大热点问题

    丁曼安

    展开

    随着大数据的爆发,中国IT业内环境也将面临新一轮的洗牌,不仅是企业,更是从业人员转型可遇而不可求的机遇。如果将IT人士统一比作一条船上的海员,大数据就是最大的浪潮,借浪潮之势而为之。

    在美国,大数据工程师平均年薪达17.5万美元,在中国顶尖的互联网公司里,大数据工程师的薪酬比同级别的其他职位高出30%以上。DT时代来得太突然了,国内发展势头很猛,而大数据相关的人才却非常地有限,在未来若干年内都会是供不应求的状况。

    一、大数据是什么?怎么理解大数据?

    如果把数据比作地球上的水,单个数据就是一滴水,大数据就象地球上的海洋,它足够大,水滴足够多,多到用人工数不清楚,但总的来说,可以通过一定的方式估计海洋中水滴的总量。这么说,你明白大数据了吗?都说我们置身数据的海洋,当你在普吉坐船出海、在芽庄海滩游玩,你可是真的置身海洋,并与之亲密接触。

    大数据的4V,就是“容量大Volume”“多样性Variety”“价值高Value”“速度快Velocity”,同样以海洋为例:

    A.海洋中水的量非常大;

    B.海水是多样的,太平洋的海水和大西洋的海水是有区别的,不同地方海水里面蕴含的物质、生活的物种都有不同;

    C.海洋为全人类带来的好处太多了,人们利用海洋,开发海洋中无穷的价值;

    D.速度快,有两个层面的意思,一是海水流动快,二是随着技术的提升,我们对海水的利用也加快了速度(看看快艇、游轮的发展)。PS:比喻有点牵强。

    二、大数据领域都有哪些从业方向?

    入行方向1:大数据系统研发领域

    大数据系统研发领域说白了就是大数据里面搞IT的,承担整个运营系统的构建与维护、数据准备、平台与工具开发。

    入行方向2:大数据建模与挖掘

    大数据挖掘指的是利用算法和模型提高数据处理效率、挖掘数据价值、实现从数据到知识的转换。大数据挖掘工程师,也叫机器学习算法工程师,首先得有扎实的数理统计功底,统计学是最基础的,同时熟练掌握常用的统计分析和机器学习模型算法,而且有好奇心和耐心有钻研精神。

    入行方向3:大数据分析应用领域

    大数据分析应用就是帮助企业把数据和技术转化为商业价值,我们常说的初级/高级数据分析师,或数据分析项目经理都属于这个领域。相对于前两个领域,分析应用领域所要求的技能最为全面的,需要从业者拥有复合型的知识结构和背景,包括对行业和业务深刻理解力,数据分析处理与解读力,沟通表达及管理能力三个方面。

    三、我现在转大数据晚吗?

    Gartner是一家领先的市场和技术研究公司,在Gartner 2015新兴技术发展周期报告。区块链、自动驾驶汽车与物联网处在顶峰部位,而大数据则关注度有所下降。

    许多人以此为依据,说大数据已近过时了,事实是,Gartner这张图反应的是新兴技术的发展趋势。经过10年的发展,随着区块链、人工智能等新技术的关注度提升,大数据作为一项相对成熟的技术受关注下降是自然而言的事情,或者可以说大数据已经从新兴技术的范畴而转入商用阶段。大数据技术已成为这些可能改变世界格局的12项技术中许多技术的基石,包括移动互联网、知识工作自动化、物联网、云计算、先进机器人、自动汽车、基因组学等都少不了大数据应用。

    大数据不存在所谓“过热”和“虚火”的问题,未来10年甚至更长一段时间都是大数据发展的黄金阶段,相关的行业将引来巨大的发展机遇。从市场和行业趋势看,现在学习大数据正当时。

    四、如何转行大数据工程师?

    一个常见的大数据工程师招聘需求为:

    1. 计算机或相关专业本科及以上学历

    2. 具有丰富的数据开发经验,对数据处理、数据建模、数据分析等有深刻认识和实战经验

    3. 熟悉SQL,有一定的SQL性能优化经验

    4. 熟练掌握Java语言,MapReduce编程,脚本语言Shell/Python/Perl之一

    5. 业务理解力强,对数据、新技术敏感,对云计算、大数据技术充满热情

    6. 积极乐观、诚信、有责任心;具备强烈的进取心、求知欲及团队合作精神

    数据工程师属于典型的技术线,负责搭建仓库搭建、数据的存储、处理、计算处理、报表开发等。

    五、给想转做大数据相关工作的建议

    重视基础。无论各种岗位,基础是成长的基石。

    发挥专长。从能够发挥自己现有专长的岗位做起,可以让新团队更欢迎你的加入。比如算法模型的工程化,偏重于业务的数据挖掘,大数据平台开发,机器学习系统开发等等,这些工作对于普通工程师更容易上手。而普通工程师直接转偏研究方向的算法工程师,难度更高。

    准备充分。请预先做好相关知识的学习,有动手实践更佳。如果没有一点准备,雇主如何相信你对这个领域真的有兴趣呢?

    最后,如果你确实对大数据、数据挖掘有浓厚兴趣,最好的办法是立刻开始实践。也许你不会以此为职业,但是可以多一技傍身。也许,未来这些技能对于程序员而言,就好比现在 MS Office 对于职场人一样普遍。

  • ?

    数据分析也可以如此智能——Smartbi 首发AI 大数据分析

    魂刃斩

    展开

    引言: 2017年6月17日,广州思迈特公司在北京举行Smartbi大数据分析技术年度峰会。思迈特公司CEO吴华夫先生亲临现场,携最新的Smartbi Insight V7版本分享数据分析新四化的最新成果,并演示人工智能和数据分析的”首次融合”。

    Smartbi智能语音助手数据分析演示

    下面分享具体演讲内容:

    很感谢大家在周末休息的时候来参加Smartbi V7产品的发布会。

    下面,我会介绍一下关于思迈特公司的情况、Smartbi Insight V7版本的新特性和功能。

    公司简介

    思迈特公司定位成一家大数据分析可视化和商业智能的产品提供商。我们知道数据是企业最重要的资产,要发挥它的价值,就需要使用数据分析,数据分析是企业的重要武器。思迈特软件Smartbi insight就是一个利器,能够有助于发掘企业数据资产的价值。

    思迈特公司成立于2011年底,通过这几年的发展,我们在北上广、成都、西安、武汉都有技术支持和销售,希望为各个地方的用户提供更好的体验和服务。

    客户介绍

    下面介绍我们的客户,我们在金融、政府、企业、高校等领域都有很多的应用。

    金融行业。我们的银行客户并不仅仅是项目级别的应用,而是总行、全行、全业务线级别的应用。比如中国银行,我们的产品应用在20多家分行。股份制银行比如说民生银行、光大银行也是我们的老客户。

    保险有泰康人寿,PICC、太保、中英人寿、幸福人寿等;证券有中信证券、银河证券、中投证券等客户;另外还有基金、投资公司、金融公司、财务公司等。

    政府领域。我们在卫生、税务、财政、工商、公安等政府领域都有比较广泛的应用。

    企业客户。比如海航集团、中国电信、石化、南方电网等。

    教育行业。我们做了部级、省厅级、以及一百多个大学的大数据分析系统。

    Smartbi Insight V7产品重要特性

    刚刚介绍了公司和客户的情况,现在我们介绍Smartbi Insight V7的重要特性。

    技术架构

    Smartbi Insight 是一个大数据中间件产品,定位为数据分析和数据可视化软件产品。

    第一层是数据层。包含RDBMS、OLAP Server、MPP、 Hadoop数据库。

    第二层是引擎层。目前包含四个引擎:

    元数据引擎。它是把技术的数据转换成业务数据,基于它实现我们的自助多维分析。

    数据查询分析引擎。包含多维数据库、关系数据库、以及其他扩展的查询。

    分布式内存计算。主要功能有ETL数据处理、机器学习、跨数据库计算。

    人工智能引擎。这个是我们新增的,在目前所有的国内大数据分析产品中人工智能引擎是我们首创并最先提出来的。

    第三层是功能层。主要包含报表报告、数据可视化、数据探查和分析、移动协同决策和人工智能深度学习这五个方面,后面我们会详细介绍。的

    第四层是行业产品。除了平台产品,我们还根据行业的应用提供大数据分析解决方案产品。主要包括银行自助分析云平台和高校大数据分析系统。

    报表报告

    企业报表

    Spreadsheet(电子表格)是企业报表平台的解决方案专家,创新的基于Office Excel实现报表设计,满足各种格式的行业监管报表、内部管理报表的需求。包括:清单报表、交叉报表、分组报表、多源分片报表、分块报表、表单报表、图形报表、回写报表、假设分析报表、二次计算报表、套打报表、段落式报表、预警报表(Excel条件格式)、组合报表(智能评语)。

    它包括三个特点:

    1、 简单易用。电子表格使用Excel、WPS作为报表设计器,可以帮助用户在最熟悉的环境中很容易的获取广泛和丰富的资源去实现需求。

    2、 功能强大。不仅支持一般业内的负责报表如交叉报表等,还支持市场上其他报表不具备的统计预测和规划求解,如支持使用Excel函数,包括财务函数、统计函数等。

    3、 图表丰富。Excel报表、图形模板资源丰富,本身作图能力也非常强大,日本画家可以基于Excel可以做很多水墨画,甚至美女图。只要有想象力,就可以创造出非常丰富的图形出来。

    在V7版本继续增强了报表的功能,主要体现在:

    1、 照相机功能。通过照相机拍照功能可以把多个报表合并组合成新的页面,类似黑板报,从而使页面布局灵活、数据格式动态同步,并易于维护更新。

    2、 功能增强。包括大清单表的性能优化和对填报审核流程的改进。

    3、 增加动态图形。不仅支持Excel静态图形,还支持Echarts动态图形,使图形效果更佳动感,交互性更强。

    分析报告

    Office Word/PPT也可作为报告的开发工具,基于报表体系制作可刷新数据的报告模板,将数据从IT环节贯通到办公系统,提高报告的制作效率,使业务的工作重心回归问题的原因分析和解决方案设计上。

    Smartbi支持使用Word和PowerPoint来开发报告,在开发过程完全可视化,无程序编码,开发的工具Office插件还支持检测更新,自动提醒升级;开发的报告不仅支持在浏览器、移动端上直接查看和一键刷新,还支持后台定时任务,发布报表到个人邮箱。

    数据可视化

    数据可视化是目前一个炙手可热的话题,我们产品也有自己的可视化特色。主要包括:

    交互仪表盘

    我们的交互仪表盘就是基于Web上实现的H5版本的水晶易表,和市面上其他的可视化工具不一样,我们是基于Excel的数据模型,利用Excel的计算能力,并通过绑定关系多维数据源来实现交互性强的页面出来。

    交互仪表盘的设计更简单、交互性更强、计算能力更强。如下示例:

    图一:参数控件、图表联动,在Excel中配置,几分钟即可实现。

    图二:what-if分析的示例。它是基于数据模型,通过简单点击交互操作的方式来挖据数据之前的关联影响,从而找到经营指标之间的关系,让领导更容易做出决策。

    对公司来说,增加研发费用投入,成本增加了,利润是会增加还是会减少呢?若研发的投入会使产品的竞争力更强,则会有更多的收入。对于这样一个测算的过程,我们只需要通过简单的点击,基于底层的数据模型,就会很容易看出增加的经费对净利润、产品销售量、成本、收入等指标的关联关系的影响。

    数据大屏幕

    数据大屏幕适用于大型的管理机构,信息量高度集中,相比仪表盘来说弱化交互性,强化炫酷的展示效果。 Smartbi Insight支持非常灵活的布局、样式和图形效果,并且设计、上线速度极快,远超各种开发技术实现的大屏幕!

    图形可视化

    我们现在有两套图形引擎:静态图形引擎和动态图形引擎。除了内置的两套图形引擎,还支持扩展接口,第三方图形引擎很容易接到我们产品中来。

    *动态图形。Smartbi Insight提供丰富的ECharts图形可视化选择,包括散点图、、南丁格尔玫瑰图、油量图、散点图、气泡图、雷达图、关系图、热力图、词云图等等。

    *静态图形。通过电子表格(Excel)作图时可使用Excel完成更为复杂的图形设计,如:甘特图、山形图、手风琴图、子弹图、小又多图等等。以及对表格设置条件格式(数据条、色阶、图标集)。

    地图分析

    地图分析将企业经营数据在地图上进行可视化呈现,形成企业经营的地理导航仪,通过点击、下钻以及图表联动等方式,进行数据分析和展示。

    直接支持迁徙地图、航线图、百度地图、热力地图、散点地图、地产密度图等等。地产密度图是和ArcGIS更专业的GIS系统结合,我们产品本身也内置GIS引擎,可以支持各种各样的地图分析。

    数据探索和分析

    我们在数据自助分析包含两个方面:查询数据和分析数据。这个功能尤其应用在金融电信行业。目前,我们有专门的自助分析云平台的解决方案。

    自助查询

    自助查询是指用户通过鼠标简单的勾选拖拽就可以找到关心的指标和字段,很轻松在上亿的数据中进行明细查询。这个功能的应用经验是从银行中积累的,因此我们在大数据支撑方面做过很多优化,是经过实践检验的,性能上相对于其他产品是有优势的。

    多维分析

    企业用户都希望对业务、管理数据进行多维度分析,Smartbi Insight充分满足此类OLAP需求,无论客户的数据环境为多维数据库还是关系数据库,都可以提供相应的功能。

    *若使用关系数据库,则无须建模。支持自由钻取、切片、同环比、分组、计算字段、预警、图表联动等。

    *若使用多维数据库,可使用Analysis功能,同样可以完成切片、钻取、同环比等功能。

    移动协同

    移动应用

    移动应用让企业员工可以随时随地通过手机、平板查看和分析数据。丰富的图形让数据展现栩栩如生,离线下载随身携带数据,手写批注让信息分享、决策讨论更加轻松。

    我们的移动应用开发简单、功能强大,特点如下:

    android、iOS的手机、平板都支持

    一键发布、支持批注与分享(到社交软件)

    集成能力:企业微信、OA及其它移动应用整合

    安全性:设备安全管理,通讯加密,离线安全

    协同决策

    Smartbi产品的协同决策功能就类似一个私有的微信平台,把领导线下决策执行的过程转到线上。在这个平台上,你不仅可以随时发送报表报告、进行实时评论、分享工作,还可以交流讨论、组织在线会议等,让用户可以在Smartbi Insight中进行多人多团队决策、提高决策精准度。

    数据源

    Smartbi兼容支持各种数据源。我们支持关系数据库(包括Vertica等MPP数据库),多维数据库、大数据库。在V7版本上新增了华为、星环和Kylin等的支持。

    系统集成

    为了ISV能基于Smartbi平台产品更加方便的打造自己的大数据解决方案,我们对界面可视化配置、权限体系、集成等方面又做了更大的完善和改进,主要包括:

    界面风格(LOGO)随意更换,不用重启服务器

    J2EE架构、纯WEB方式、无需安装其他插件

    用户集成(权限自主管理:资源权限、数据权限、操作权限)

    报表集成支持外部链接或内嵌到其它系统中

    运维可视化

    作为一个大型系统,若有万以上级别的报表该如何管理呢?可以使用我们的运维可视化功能。界面操作,非常易用。

    通过界面可视化的运维管理,使得:

    运维管理能力更强。可以通过元数据引擎查看报表的关联关系,可以查看报表的访问情况。如看一张报表的访问次数,若少则可下线。

    解决问题能力更强。当慢、卡各种情况发生,通过CPU监控、内存监控、网络监控等功能快速定位问题。

    自动检测能力更强。系统支持定时提醒,支持自动检测优化,支持调整系统参数,能最好的满足用户的需求。

    人工智能

    随着大数据作为企业的资产,它的重要性毋庸置疑。我们提供很多方法让用户去查询分析数据,比如通过报表报告发给领导查看,通过大屏幕查看关键KPI指标,通过自助分析使业务人员简单的操作就能自助查询分析数据。的

    但是,若是能通过语音语义来表达诉求,通过一个工具接受指令,直接把需要的数据传递给你,会对大数据分析方式产生很大的变革,会使更多的人受益于大数据,会更方便的挖掘大数据的价值。

    因此,V7版本上我们发布了人工智能小麦的功能。她基于语音语义模型,通过深度学习的引擎,实现自然语言的理解,并支持用户使用偏好,从而实现数据查询和分析。目前,我们支持打开已有资源,切换参数;还支持自助探索分析。

    这种人机交互的方式体现了AI和BI的结合。当然这只是迈开的第一步,我们未来的目标是通过自然语言,用户能轻松自由的利用大数据,不仅能了解现状、挖掘规律,更是预测未来。

  • ?

    大数据研发工程师应该具备哪些技能?

    Noel

    展开

    很多人学习了大数据之后,想要从事大数据研发工程师这个职业,大数据研发工程师应该具备哪些技能?

    一. 大数据研发工程师需要认识大数据

    想要成为一名合格的大数据研发工程师,首先就要了解大数据这样职业,大数据非传统型的互联网数据信息,大数据也包含了很多新的特征。互联网时代的发展,每天都产生各种各样的数据信息,数据来源很广,每天都有从各方面来临的数据信息,大数据格式多种多样,非结构化数据、结构化数据、excel文件等等,而且大数据数量很大,至少要是TB级别的,甚至会达到PB级别的。既然数据总量如此之多,又各种类型的都有,增长数据也很快,那数据该如何汇总并且转化运用成自己所需要的数据信息呢?这就诞生了大数据研发工程师,大数据研发工程师在充分了解行情的基础之上,发挥其自身所具备的专业技能。

    二. 大数据研发工程师需要具备的技能

    大数据工程师一般都在做什么工作呢?集群运维:安装、测试、运维各种大数据组件,数据系统开发:偏重web系统开发,比如报表系统、推荐系统等。大数据研发工程师需要每天进行这些工作处理,那大数据研发工程师需要具备哪些技能呢?

    Python语言:编写一些脚本时会用到。

    Scala语言:编写Spark程序的最佳语言,当然也可以选择用Python。

    Ozzie,azkaban:定时任务调度的工具。

    Hue,Zepplin:图形化任务执行管理,结果查看工具。

    Allluxio,Kylin等:通过对存储的数据进行预处理,加快运算速度的工具。

    Java高级(虚拟机、并发)、Linux 基本操作、hadoop(HDFS+MapReduce+Yarn )、 HBase(JavaAPI操作+Phoenix )、Hive(Hql基本操作和原理理解)、 Kafka、Storm/JStorm、Scala、Python、Spark (Core+sparksql+Spark streaming ) 、辅助小工具(Sqoop/Flume/Oozie/Hue等)

    三、大数据研发工程师学习规划

    先要成为一名合格的大数据研发工程师需要具备这么多专业技能,那该怎么培养自己的专业技能并且达到要求呢?那就需要付出一定的时间和精力来学习大数据技能了。

    1.想要拥有专业的大数据技能,首先要看你选择了怎样的学习方式,如果选择自学的话,那就需要有一定的学习基础,最好是计算机专业或者统计学专业的学员了,具备一定的学习之后,还需要具备一定的自律能力,才可以学好大数据技能。对于非计算机和统计学专业的学员来说,学习要选择系统理论的学习模式,才可以具备相应的技能要求。

    2.无论是自学线上或者线下,必须要具备的就是大数据项目实战经验,好的企业都要求学员有大数据项目经验,这样的大数据人才普遍能力较高,更受企业青睐和欢迎,大数据研发工程师在行内更是需要如此,需要专业的技术能力和项目经验。选择自学的要自己购买项目,

    怎么判断大数据实战项目的价值?但是需要注意项目的时效性和权威性,大数据是一个紧跟时代的行业,没有时效性的数据资料对自身没有意义;对于没有自学能力的选择线下培训班的学员,那就要选择一家有大数据实验室和实战项目的培训机构了,大数据实战项目让大数据人才进行适时参与训练,提前熟悉企业流程。

    3.大数据行业比较看中人才的经验,入行的前几年薪酬待遇不会有大幅度的上升,三到五年之后会有大幅度上升,薪酬待遇会越来越高,入行大数据要趁早,大数据研发工程师都是随着经验的增加,身价也会随之增加。

    大数据研发工程师需要具备有专业的技术能力,也需要具备实战经验,随着入行时间的增加,工程师的身价也会随之增加,想要入行大数据要趁早!培养自身大数据专业技能,魔据给你们提供舞台!

  • ?

    10分钟“套”出一张可视化报表,用这5招就够了!

    经十三

    展开

    以往我们做报表,都是用基础的excel,进阶一点用数据透视表做个分析,甚至会写几个VBA宏就已经很高大上很能提高效率了。

    比如以前小编在市场,需要汇总13个中国大区的销售和客户数据,汇总,做销售分析表,月度的,季度的。最后还要做一个类似dashboard的可视化贴到PPT中,合着我就是一个做报表和PPT的,无论是个人还是这个岗位的价值都无处体现。

    其实,在做报表的过程中其实我也在偷偷学习着业务。譬如我发现华中地区每个月末月初,都有个销售低点,呈现一种“月初放松,月末刹车”的状况,数据走势与其他地区显然不同,想和领导反映,但领导关注的只是当月当季度的总结果,期间的数据从无关心,其实,数据分析是可以追踪销售细节的。

    一直想做的事到之后一家公司有了体现。公司的信息化相对完善,有正规的报表系统。常规业务报表交由信息部开发,做成固定报表,自动导出发送邮件。一张报表如果做了参数查询功能的话能抵几十张手工作业报表,这解决了以前大量手工做报表的通病。

    但是,经常要费很多时间去和IT沟通业务逻辑,这个数据字段代表什么,数据缺失怎么办。当时已经了解到市面上有另外一种自助式的可视化产品BI,在做数据报表方面更加便捷,比方说Tableau、FineBI、PowerBI等等。

    但最后考虑到我们没有ETL的技能,而且数据上面还有一些规范化的操作,所以数据处理的工作还得交由IT搞定。多数工具中也只有FineBI有数据和报表管理的权限,更加适合我们的情况,于是选择了FineBI。IT部门准备数据,给我开放数据权限,拿到数据我自己做分析。

    那FineBI是什么?

    这是一个可视化的自助式BI工具,整个操作就是导数据/连数据库——处理数据(可视化ETL)选择图表——拖数据字段——可视化展现&美化,操作简单上手快。长久以来,对于个人,我一直是拿他当可视化报表工具,其实用得好,它可以对接企业大数据平台,做企业数据运营分析用。

    用了将近两个月,令人惊艳的是它的效率,对得起“自助”这个词。让我即使是一个菜鸟小白,也不怕做不出好看实用的可视化报表,开发一个模板也再也不需要花一个上午,最快的完成一张分析模板不过5分钟。

    今天在这里主要分享5个关于finebi快速做可视化报表的心得,学会这5招,即使你刚接触数据分析,刚接触可视化,也能够在短时间内“套”出自己想要的好看实用的报表。他的高效自助性主要体现在这4个方面……

    一、依法炮制

    推荐场合:单报表开发

    推荐技能:组件复制、指标复制

    1、指标复制

    推荐指数:★★★★☆

    最开始,我并不懂得怎么做数据分析报表,只会按着领导的要求把指标陈设好,但是有时碰到类似下面这些指标的时候,就很头疼。下面的指标大家看着都很熟悉,对比分析是我们在数据分析时经常用到的分析方法,希望比较某指标和昨日值、同期值、年初值、环期值或者目标值之间的差值及其变化率,但是传统的报表开发通常需要反复添加同一个指标,如下面的”当日存款金额(万)“,然后再对该指标做不同日期过滤得到结果。

    作为一个爱(会)上(偷)进(懒)的小白,自然是学点技能节约开发时间。对于这种简单重复的工作,则可以用”指标复制“这一功能快速复制已有指标及过滤条件,简单修改过滤条件,就可以轻松提高开发效率。

    2、组件复制

    推荐指数:★★★★★

    单个图表组件的效率提升之后,自然我就开始琢磨着怎么提高不同图表组件的开发效率。有的时候会碰到不同组件但是极其类似的分析需求,以下面为例。

    我们想做公司下属三个大区的趋势分析,放在一起做比较。现在费了九牛二虎之力做好了“南部大区的趋势分析”,并结合实际业务对其中一些关注的关键因素做了以下处理:

    ①只希望看到南部大区的相关数据

    ②起租金额最高的日期进行奖牌标记

    ③在起租金额平均值以下的日期进行字体标红警示

    ④起租金额在130~150范围内的日期进行标蓝处理

    ⑤格式与数量级优化,数据标签优化等样式优化

    个人对这个南部大区的趋势分析感到满意,接着需要再对东部大区和中西部大区做同样的趋势分析以及对关键因素进行标记。这时不需要把以上5个步骤再设置一遍,只要用上“组件复制“这一神技,然后更换下过滤条件,10秒钟就完成了东部大区的趋势,完全省去了以上一系列繁琐重复的工作,简直不能更便捷!

    我们甚至可以直接用“组件复制”的这个神技分分钟开发出下方这个酷炫屌炸天的租赁大屏,美滋滋。

    二、移花接木

    推荐场合:多报表开发

    推荐技能:组件复用、指标复用

    后来,我进阶了,又开始了进一步的学(偷)习(懒)之旅。

    当我们开发了多张报表后,通常在新开发的报表中需要对某些指标反复使用(尤其是计算指标或者做了很多条件限制的复杂指标),同时对某些指标也总是需要重复进行相似的分析。这个时候我们会特别希望能够直接把已经开发的报表的指标或者分析图表拿过来,直接在新开发的报表中使用。换句话说,我们希望对于任何指标的相同条件过滤、计算或者分析,我们都只要进行一次,就可以达到一劳永逸的效果,不用再做任何重复的工作。这么美妙的功能,就可以通过组件复用和指标复用实现。

    举个例子,管理员在公司系统挂出了一个十分酷炫的互联网大屏驾驶舱,这么欧气的分析模板,我们自然是要沾沾光的。正好领导要我做一个关于流量的渠道分析,我是一脸懵逼,不知道应该用哪些数据进行分析,也不知道该怎么进行分析,自然而然地想借鉴下驾驶舱中对流量的渠道分析部分,当然能直接拿过来用就更好了。嗯,好了,且看我怎么分别用组件复用和指标复用两种方法快速地套出我的报表。

    3、组件复用

    推荐指数:★★★★★

    我需要用到驾驶舱中的折线图”浏览量趋势“、饼图”一级渠道“、饼图”二级渠道“以及雷达图”城市访问/跳出“,秀的时间到了,我花了30s做出下面这个”流量-渠道分析“模板。

    只需要在组件复用中把”互联网大屏驾驶舱“模板中对应的四个组件拖入到现在的模板,就可以自动生成新的分析图表。爽歪歪。

    4、指标复用

    推荐指数:★★★★

    再后来,我的数据分析思维提高了,觉得驾驶舱中对于用户流量的分析不够到位,我有一番我的分析见解,可以拿着相同的指标做更好的分析,但是我又不知道这些指标是存放在数据库的哪里,我该去哪里才能找到它们。

    这个时候就能用上指标复用了,在我想做的分析图表中,将驾驶舱中的指标拖过来直接用,马上就生成了另外一个分析图表。像下面的气泡图,比驾驶舱中的还要酷炫。

    具体操作的过程如下:

    三、他山之石

    推荐场合:跨用户开发

    推荐技能:模板复用

    毕竟数据分析是个长期的事情,有时因为数据分析思维的局限导致了我实在对做报表束手无策。隔壁部门的“陈独秀”前辈在可视化数据分析方面是个有多年经验的老手了,经常在会议上看到他做报告时逻辑严谨,可视化报表也做得令人啧啧称赞。抱着虚心学习的态度请教了他,他也毫不吝啬地把他认为很有价值的分析报表通过“模板复用”直接分享让我学习同时让我瞻仰一下:“好东西就是要拿来分享啊”。精辟!膜拜!

    5、模板复用

    推荐指数:★★★★★

    学会这招之后,我好长时间不做模板了,嗯,时不时就去“陈独秀”那里拿些模板(开个玩笑:D)。

    写在最后

    上面5个技能能大幅度节约我们开发的效率,很快地套出我们要的模板,可以最大程度地利用和共享已经做好的资源和报表,。不过,对于刚入手的小白们来说,最重要的还是要慢慢提高自己数据分析的技能和思维,这才是根本啊。

  • ?

    一起来聊聊最近很火的大数据架构师NoSQL建模技术

    渲染

    展开

    1.前言

    为了适应大数据应用场景的要求,Hadoop以及NoSQL等与传统企业平台完全不同的新兴架构迅速地崛起。而下层技术基础的革命必将影响上层建筑:数据模型和算法。简单地将传统基于第四范式结构化关系型数据库的模型拷贝到新的引擎上,无异于削足适履,不仅增加了大数据应用开发的难度和复杂度,又无法发释放新框架的潜能。

    该如何构建基于NoSQL的数据模型?现在能供参考的公开知识积累要么是空虚简单的一句“去规范化“或粗暴的宽表化(将query和应用需要访问的所有字段“排排坐“,放在一个有很多列的结构化表中),要么是针对具体工具或具体场景的实现细节,(如《HBase权威指南》中对于如何设计HBase主键的探讨)。没有一个像编程的设计模式一样的,在模型架构层面可以遵循的方法论。

    在比较不同的NoSQL数据库时,通常使用功能以外其他各种指标,如可扩展性、性能和一致性。由于这些指标通常是使用NoSQL的初衷,所以无论从理论的角度还是实践的角度被深入地研究了,而像CAP定理这样的分布式系统基础结论也同样适用于NoSQL系统。另一方面,在NoSQL的数据模型领域,却还没有很好地研究过,也缺乏关系数据库中那种系统性的理论。

    我在这篇文章中从数据建模的角度对NoSQL家族系统做了比较简单的比较,并简要介绍几种常见建模技术。

    2.NoSQL数据模型视图

    要探索数据建模技术,必须先从系统性的NoSQL数据模型视图着手,这多多少少能帮助我们揭示其发展趋势以及相互之间的关系。下图描绘了主要NoSQL家族系统的虚拟“进化”过程,即键值存储,BigTable类型的数据库,文档数据库,全文搜索引擎,数据库和图形数据库:

    首先,我们应该注意到,一般意义上讲,SQL和关系型模型都是在很久以前就被设计出来,目的是为最终用户交互之用。这种面向用户的性质有极深的影响:

    最终用户往往对汇总报表信息感兴趣而不是单独的数据项,因而SQL这方面做了大量的工作。

    不能指望作为自然人的用户能显式地控制并发性、完整性、一致性或者数据类型有效性。这就是为什么SQL竭力关注于事务保证、schema和参照完整性。

    另一方面,软件应用程序往往对在数据库内部做聚合没有太大的兴趣,而且至少在许多情况下,程序能够自己控制完整性和有效性。除此之外,剔除这些功能对于性能和可扩展性存储的影响极其重要。

    新数据模型的演变开始了:

    键-值存储是一个非常简单,但非常强大的模型。下面所描述的许多技术都完全适用于这个模型。

    键值模型最致命的缺点之一就是不适合按范围处理主键的场景。有序的键-值模型突破了这一限制,并显著提高了聚合能力。

    有序的键-值模型非常强大,但它不提供任何针对值(value)的建模框架。在一般情况下,值的建模可以由应用程序完成,但BigTable风格的数据库想得更加周到,它可以将值按照映射的映射的映射(map-of-maps-of-maps)进行建模,说得明确点,分别是列簇(column family)、列(column)和时间戳化的版本。

    文档数据库对BigTable模式提出两个明显的改善。第一,值可以被声明为任意复杂的schema,而不仅仅是一个映射的映射(map-of-maps)。第二,至少有一些产品实现了被数据库管理的索引。就这个意义上来讲,全文搜索引擎也可以同样被认为提供了灵活的schema和自动化的索引。他们之间主要区别在于,文档数据库是根据字段名对索引进行编组,而搜索引擎是使用字段值对索引编组。值得注意的是像Oracle Coherence这样的键-值存储系统增加了索引和内嵌入口处理器的功能,正逐步向文件数据库演进。

    最后,图形数据模型可以被视为有序的键-值模型朝另外一个方向的进化。图形数据库允许对业务实体进行非常透明的建模(这个东西取决于那个东西),而分层建模技术在这方面用的是另外的数据模型,但也可与之媲美。图形数据库和文件数据库息息相关,因为许多实现允许建模的值是映射或者文档。

    3.NoSQL数据建模的一般注意事项

    与关系型建模不同,NoSQL数据建模往往是从特定查询的应用开始:

    关系型建模是典型地被手上可用数据的结构所驱动。设计主要围绕着的是“我有什么样的答案?”

    NoSQL数据建模通常由特定应用的访问模式所驱动,比如需要支持的查询类型。设计主要围绕着的是“我有什么问题?”

    NoSQL数据建模往往比关系数据库建模需要更加深入地了解数据结构和算法。在这篇文章中,我介绍了几个著名的数据结构,他们虽然非NoSQL所特有,但对于实际的NoSQL建模非常有用。

    数据复制和去规范化是一等公民。

    关系数据库在对分层或图形数据进行建模和处理时不是很方便。图形数据库显然是这个领域的完美解决方案,但实际上大多数的NoSQL也都非常善于解决这样的问题。这就是为什么这篇文章为分层数据建模单独写了一个章节。

    虽然数据建模技术基本上和具体实现无关,但我还是列出了在写这篇文章时我能想到的产品:

    键值存储:Oracle Coherence,Redis,Kyoto Cabinet

    BigTable风格的数据库: Apache HBase,Apache Cassandra

    文档数据库: MongoDB,CouchDB

    全文搜索引擎: Apache Lucene,Apache Solr

    图形数据库:Neo4j,FlockDB

    4.概念技术

    本节专门介绍NoSQL数据建模的基本原则。

    1、 去规范化(Denormalization)

    可以将去规范化定义为把相同的数据复制到多个文档或数据表中,这样可以简化/优化查询处理,或者让用户数据能匹配一个特定的数据模型。在本文的大多数技术用到了这样或那样的去规范化。

    一般来说,去规范化用于以下的折衷:

    查询的数据量或每次查询IO**与总数据量的折衷。去规范化可以将一个查询所需的所有数据组合起来存放到同一个地方。这通常意味着对相同数据的不同的查询会访问不同的数据组合。因此,数据需要被复制多份,也就意味着增加了总数据量。

    处理复杂性与总数据量的折衷。建模时的规范化和相应查询的连接(join)明显增加了查询处理器的复杂度,在分布式系统中尤为明显。去规范化允许将数据按照查询友好的方式存储,从而简化查询的处理。

    适用性:键值存储,文档数据库, BigTable风格的数据库

    2、 聚合(Aggregates)

    所有主流NoSQL都提供了这样或那样的松散schema(soft schema)支持:

    键值存储和图形数据库通常不对值进行约束,所以值可能是任意格式。另外,也可以通过使用组合键将一个业务实体表示为多条记录。例如,可以将一个用户帐户建模为UserID_name,UserID_email,UserID_messages等组合键表示的一个实体集合。如果用户没有电子邮件或消息,然后相应的实体不会被记录。

    BigTable模式也支持松散schema,因为一个列簇是可变的列集合,一个单元格又能存储不定数目的数据版本。

    文档数据库天生就没schema,虽然某些文档数据库允许在数据输入时使用用户定义的schema进行验证。

    松散schema允许使用复杂的内部结构(嵌套实体)构造实体的类,也允许改变特定实体的结构。这个更能带来了两个重要的便利:

    通过嵌套的实体,最小化了一对多的关系,也因此减少了连接(join)。

    异构业务实体的模型可以使用一个文档集合或者一个数据表。松散schema掩藏了这种建模和业务实体之间“技术”上的差异。

    我们用下面的图来说明这些便利。该图描绘了对电子商务领域中一个产品实体进行的建模。首先我们可以认为所有的产品都有一个ID、价格(Price)和描述(Description)。进一步来看,我们发现不同类型的产品有不同的属性,如图书包含作者信息,而牛仔裤有长度属性。这些属性中间的某些属性天生就有一对多或这多对多的特性,比如音乐唱片中的曲目。

    更进一步来看,可能有些实体不可能使用固定的类型进行建模。例如,不同品牌的牛仔裤的属性是不固定的,而每个制造商出产的牛仔裤的属性也是不一致的。在规范化的关系型数据模型中虽然这些问题都可以解决,但方法很猥琐。松散schema软架构允许只使用一个聚合(Aggregation)(产品)就能对所有类型的产品及其属性进行建模:

    内嵌的去规范化会在性能和一致性上对更新操作造成很大的影响,所以要特别注意更新过程。

    适用性:键值存储,文档数据库, BigTable的风格数据库

    3、 应用端连接(Application Side Joins)

    很少有NoSQL解决方案支持连接。NoSQL“问题导向”性质的后果就是,通常在设计时处理join,而关系型模型是在执行查询时处理join。查询时处理join几乎肯定会带来性能上的损失,但在许多情况下,可使用去规范化和聚合,即嵌入嵌套实体来避免join。当然,join在许多情况下是不可避免的,而且应该由应用程序处理。主要的用例:

    多对多关系往往是通过链接(link)建模的,这需要join。

    聚合操作往往不适合内部实体会被频繁修改的场景。通常更好的办法是将发生的事情作为一条新的记录保留,并在查询的时候将所有记录做join,而不是去更改值。例如,对于一个信息系统而言,可以用嵌套包含了Message实体的User实体来建模。但是,如果会经常地添加消息,更好的办法可能是把Message提取出来作为独立实体,并在查询时再将其与User进行连接:

    适用性:键值存储,文档数据库, BigTable风格数据库,图形数据库

    5.一般建模技术

    在本节中,我们将讨论适用于各种NoSQL实现的一般建模技术。

    1、 原子聚合(Atomic Aggregates)

    许多NoSQL解决方案提供了有限的事务支持,虽然有些NoSQL不支持。在某些情况下,人们还可以使用分布式锁或应用程序管理的MVCC机制实现事务行为,但常见的是使用聚合技术来对数据建模,以保证一些ACID特性。

    强大的事务处理机制对于关系型数据库而言是不可或缺的,其中原因之一就是规范化的数据通常需要在多个地方进行更新。另一方面,聚合允许一个单个业务实体存储为一个文件,行或键值对,从而可以对其进行原子性的更新:

    当然,做为一种数据建模技术,原子聚合并不是一个完善的事务型解决方案,但如果存储能提供原子性、锁或者TAS(test-and-set,测试并设置)指令上的一些担保,那原子聚合就是可行的。

    (译者注:即将需要事务性操作的业务数据聚合放在一起,存储在一个NoQSQL提供或者应用能提供原子性操作的数据结构中。使用HBase时,将某个用户某个业务的所有数据,如上图,用一行存储就是这种模式的应用。)

    适用性:键值存储,文档数据库, BigTable风格数据库

    2、 可枚举主键(Enumerable Keys)

    也许无序键-值数据模型最大的好处就是可以通过将主键哈希的办法把实体数据分别存储在多个服务器上。排序使事情变得更加复杂,但是即使存储不提供这样的功能,有时应用程序也能利用到有序主键的优势。让我们将对电子邮件建模作为一个例子:

    某些NoSQL存储提供原子计数器,能生成一个顺序化的ID。在这种情况下,可以使用userID_messageID作为一个复合键来存储消息。如果最新的消息ID是已知的,那就可以遍历以前的消息。另外,对于任何一个给定的消息ID,也可以向前或向后进行遍历。

    也可以将消息分桶(bucket),例如,每天的数据放到一个桶里。这样就允许从任何指定日期或当前日期开始,向前或向后遍历一个邮箱。

    适用性:键值存储

    (译者注:能利用主键的一些自然或业务维度的特征,将随机读写转换为顺序读写能提高遍历性能,同时能方便应用逻辑编写。但需要注意对分布式部署时并发写的影响以及对于业务的过度耦合。对于无序主键和有序主键的讨论可以参见《HBase权威指南》中Schema设计章节。)

    3、 降维(Dimensionality Reduction)

    降维这种技术允许将一个多维数据模型映射到一个键-值模型或其他非多维模型。

    传统的地理信息系统使用四叉树(Quadtree)或R树(R-tree)的某种变形来做索引。这些结构需要就地完成更新操作,因此在数据量很大时,维护开销相当的大。另一种方法是对这个二维结构进行遍历,并将其扁平化为一个普通的条目列表。使用这种技术的一个众所周知的例子是Geohash。 Geohash使用类似Z形状的路线来扫描整个二维空间,每次移动根据行进方向被编码为0或1。交错位的经度和纬度上的变更移动以及移动。编码过程在下图中进行了说明,其中黑色和红色位分别代表经度和纬度:

    如图所示,Geohash的一个重要特性是能够通过这种逐位编码的近似程度来估计区域之间的距离。Geohash编码允许使用简单普通的数据模型来存储地理信息,比如用有序键值保存空间上的联系。[6.1]讲述了BigTable中的降维技术。更多有关Geohash及其相关技术的信息可以在[6.2]和[6.3]中找到。

    (译者注:通过交织编码方式来能将原本需要多维度标示的数据,如cube,存储到一维的键值存储系统中,这是一种非常重要的建模模式:提供了不同缩放等级下在多维空间中邻接的数据仍然顺序存储,遍历高效;同时不同主键从前向后的相似度和空间距离的远近相一致,能通过键值的简单顺序比较判断其位置“相似度”。

    它的应用远远不只地理信息的表示,有多个维度属性不同粒度的数据表示都能用到这个技术,比如线下销售交易数...

  • ?

    经典:一个大数据项目的架构设计与实施方案

    若枫

    展开

    从菜鸟到架构师,不仅需要的是时间的磨练,更需要的是机会和平台。对于大数据技术的应用,不管是传统行业还是互联网行业,已经开始大范围的应用。很多人也轰轰烈烈的加入到大数据技术学习的行列中来,但大多数是三分钟热情高涨但又无法坚持到底。原因不是不想学,而是太复杂,坑太多。

    对于接触过大数据技术的人应该比较清楚,大数据技术框架都是开源的,一个项目的完成需要众多技术的整合,包括安装、部署、开发、集成等。开源的也就免费,免费的东西有好的一方面,也有不好的一方面,好的一面就是企业应用不用花钱,尽管用。不好的一面也是学习者都感同身受,比较苦恼,就是坑太多,不是这个版本有bug,就是那个版本不兼容。在企业应用中对框架补漏修改是常有的事。也正因为这个,成就了行业很多的技术高手。当然,这也是为啥大数据人才稀缺并且薪水高的原因。

    所以本篇我们为大家分享一套完整的大数据项目架构设计与实施方案,也是希望有基础的学习者能通过这个课程,一点画面,系统的学习,并且能彻彻底底的感受学习大数据技术所带来的成就感。体验自己如何根据零碎的基础知识能快速的架构设计大数据项目,并且完整的得以实施。

    先来谈谈我们的需求,我们要对某新闻网做用户行为分析,需要达到以下几个要求:

    实时捕获用户浏览日志信息并且存储(TB级别)实时分析前20名流量最高的新闻话题实时统计当前线上已曝光的新闻话题量离线分析统计哪个时段用户浏览量最高报表对外发布数据

    针对以上的需求,如果是你该如何架构设计满足用户需求的系统呢?

    先来看看卡弗卡大数据对以上需求实现的需求结果:

    以上图描述的很清晰,基本完成了我们三个需求。接下来就是我们要分享的核心:系统架构设计。这个是非常重要的,他是在你完全熟练掌握技术基础之上,根据业务需求的理解而进行的设计工作。我们来看第一张图:

    系统架构设计

    架构设计中的所有技术框架在我们的系统实施过程中都得到了应用,当然,如何没用,我们也不会放在架构图中。哈哈。如果你能看懂这张图,那得恭喜你,你快入行了,如果看不懂,那说明你还只是个菜鸟,继续努力吧。

    系统数据流程设计

    在需求中我们提的很明确,有三个要点:第一是数据实时获取并存储;第二是数据实时在线分析;第三数据批量离线分析。所以在流程图上会有两个不同颜色的流程分支,一个是代表实时数据处理,一个是代表离线批量数据处理。如果你想学点什么,你应该会仔细的看这张图,因为图上的每一个标识,不管图标大小所描述的都是核心,都是重点。切记!

    集群服务节点规划

    大数据项目,玩的都是集群。没有一个企业会在单节点机器上玩大数据应用。除非你自己学习之用。上图是我们对此系统的服务节点规划,一个机器上放什么节点服务,这都是有原因的。不是你想放什么节点就放什么节点。所以架构设计中的机器规划部署也是非常重要的,在业务需求的基础上要做好资源的合理规划,包括扩展性和稳定性。

    说了这么多,该如何实施呢?

    一个完整项目的全流程实施,从架构设计、技术选型、环境配置、安装部署、研发、整合集成、数据可视化交互等各个方面所要求的知识点很多,如果是新手或者初学者,不是几篇文章能说的清楚的,也不是一朝一夕你能的搞明白的。当然这不是个人能力的问题,而是大数据技术框架本身的坑很多,如果没有系统完整案例的指导,你可能得自己一个一个的去填坑才有可能到达你想要的结果。我说的一点也不严重,不信你可以去试试,呵呵。

    如果你想尽快的掌握一个完整的大数据项目架构与实施,请参加我们的线上直播课,没有别的,只是让我们的经验有价值的得到分享。

  • ?

    中位科技:不是所有的报表都叫大数据报表

    冰珍

    展开

    三秒之内成千上万台车辆统计的多月对比,多张报表数据同时展示。

      -所有车辆里程累加后本月与上月对比;

      -所有车辆当月里程排行对比;

      -单个车辆月(行驶、停驶、超速、总里程、行驶次数等)数据详情;

      -所有轨迹信息点月分布图(热点图:车辆到过最东、最南、最西、最北);

      -数据排行榜(最安全、最危险、最勤奋、最懒惰、行驶最多,最少......)。

大数据报表开发

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

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

img

在线咨询

建站在线咨询

img

微信咨询

扫一扫添加
动力姐姐微信

img
img

TOP