大数据数仓之报表开发

大数据数仓之报表开发大数据数仓之报表开发 1 背景在大数据开发中 主要的数据分析目的可以分为 2 类 一类是基于历史数据 就算是实时数仓 接收到数据的时候 其实也已经是历史数据了 做数据规律或者结果提取 一类是基于历史数据 训练模型 做未来数据预测或者分类等 如果是前者 基于已有数据做数据规律和数据结果提取 这时候就可以称之为报表开发 参考神策系统 报表开发可以划分固定维度报表开发 一定维度自由组合报表开发 自由维度报表开发 固定维度报表开发 一般是一些固定指标 但会加一些固定维度 典型的如年 月 日等一定维度内自

大数据数仓之报表开发

1. 背景

  1. 在大数据开发中,主要的数据分析目的可以分为2类。一类是基于历史数据(就算是实时数仓,接收到数据的时候,其实也已经是历史数据了)做数据规律或者结果提取;一类是基于历史数据,训练模型,做未来数据预测或者分类等。
  2. 如果是前者,基于已有数据做数据规律和数据结果提取,这时候就可以称之为报表开发。
  3. 参考神策系统,报表开发可以划分固定维度报表开发,一定维度自由组合报表开发,自由维度报表开发。
  4. 固定维度报表开发,一般是一些固定指标,但会加一些固定维度,典型的如年,月,日等
    在这里插入图片描述
  5. 一定维度内自定义组合分析
    在这里插入图片描述
    在这里插入图片描述

  6. 灵活自定义分析

在这里插入图片描述

2. 报表分类

  1. 从上述描述中可以看到,报表从数据维度和计算难度来看,可以分为3大类
  2. 固定报表,如果是离线数仓场景,很多时候使用hive,或者spark,或者mapreduce程序,结合脚本定时(一般是每天定时任务滚动计算)执行,就可以将这些指标计算出来。
    注意,数仓一般会做分层处理,一般都是将原始数据处理后放入ODS层,ODS层数据处理之后放入DWD层,DWS层结果一般从DWD计算而来。所以整个数据流是有先后顺序的
  3. 一定维度内组合报表,也就是典型的cube。
  • 可以使用hive 的三个语法
  • 可以使用现有工具,druid或者kylin
  1. 灵活自定义查询,也叫即席查询
  1. 即席查询要求有很强的计算性能,因为没有做预计算或者预聚合,数据量大时,需要有很强的计算性能才能满足即席查询的秒级要求。
  2. 神策使用的方案是impala,但应对大量数据的计算,还是会受限于impala本身的限制。据说内部其实也做了很多优化,思路包括一定的预聚合和预计算等,所以神策在国内其实属于领头羊地位,属于独角兽
  3. presto属于后起之秀,虽然社区内划分了2个分支,但不影响使用。presto的计算性能其实弱于impala,但结合presto的内存表,性能会有很大提升,就是对内存占用以及数据体量会有一些要求。
    并且,presto的社区活跃很多,版本迭代快速。有大公司支持,个人人为性能超越impala是预期内的事情。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/178277.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午5:39
下一篇 2026年3月26日 下午5:39


相关推荐

  • executescalar mysql_ExecuteScalar

    executescalar mysql_ExecuteScalar这两个答案和一点点思考使我想到了一个接近答案的东西。首先再澄清一下:该应用程序是用C#(2.0+)编写的,并使用ADO.NET与SQLServer2005进行通信。镜像设置是托管主体和镜像的两个W2k3服务器以及托管作为监视器的快速实例的第三个服务器。这样做的好处是,故障转移对于使用数据库的应用程序几乎是透明的,它将对某些连接引发错误,但从根本上讲一切都会很好地进行。是的,我们得到了奇怪的误报…

    2022年6月30日
    22
  • 二叉查找树C++实现

    二分查找树特点:(1)若任意节点的左子树不空,则左子树上所有结点的值均小于它的根结点的值;(2)任意节点的右子树不空,则右子树上所有结点的值均大于它的根结点的值;(3)任意节点的左、右子树

    2021年12月18日
    41
  • 性能指标评估

    性能指标评估性能指标评估

    2026年3月19日
    3
  • GLM 4.5 配置全攻略:Claude Code 与 Codex 实战指南

    GLM 4.5 配置全攻略:Claude Code 与 Codex 实战指南

    2026年3月12日
    10
  • matlab如何循环_左手转笔教程无限循环

    matlab如何循环_左手转笔教程无限循环循环输出变量代码fori=1:4iend其中1:4代表一个行向量1234,在matlab中,行向量的另外一个表示方法是[1234],即fori=1:4等价于fori=[1234],编写程序时牢记一个点:对于某次固定的迭代,i会从这个向量中取一个值,该值可以参与循环中的计算。运行输出i=1i=2i=3i=

    2022年10月6日
    6
  • Idea 替换 区分大小写「建议收藏」

    Idea 替换 区分大小写「建议收藏」全文替换的时候,没有忽略大小写,导致替换类名和参数不一样猜测idea有没有区分大小写功能biu了一下Shift+Ctrl+RCc有点像,试试到达要求

    2026年4月14日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号