从Lambda架构到Kappa架构再到?浅谈未来数仓架构设计~

Linked大佬Jay Kreps曾发表过一篇博客,简单阐述了他对数据仓库架构设计的一些想法。从Lambda架构的缺点到提出基于实时数据流的Kappa架构。本文将在Kappa架构基础上,进一步谈数仓架构设计。 什么是Lambda架构? 借用Jay Kreps的一张图来看,Lambda架构主要由这几部分构成:数据源(Kafka),数据处理(Storm,Hadoop),服务数据库(Serving DB)。其中数据源和服务数据库是整个架构数据的入口和出口。数据处理则是分为在在线处理和离线处理两部分。 ...阅读全文

阿里云开发者社区 2020-03-31 00:00 阿里云开发者社区

SQL中的行转列和列转行 - 腾讯云开发者社区

导读SQL是IT行业很多岗位都要求具备的一项能力,对于数据岗位而言更是如此,甚至说扎实的SQL基础也往往是入职这些岗位的必备技能。而在SQL面试中,一道出镜频率很高的题目就是行转列和列转行的问题,可以说这也是一道经典的SQL题目,本文就这一问题做以介绍分享。 给定如下模拟数据集,这也是SQL领域经典的学生成绩表问题。两张期望的数据表分别如下:1)长表:scoreLong2)宽表:scoreWide考察的问题就是通过SQL语句实现在这两种形态间转换,其中长表转为宽表即行转列,宽表转为长表即列转行。...阅读全文

腾讯云 2021-06-25 11:06 腾讯云

Hive/Presto/标准SQL实现行转列和列转行_soaring0121的专栏-程序员宅基地

假设有以下两个表格,分别为vtable和htable,期望使用SQL实现相互转化,本文将展示如何分别使用标准SQL、Presto、和Hive实现。 vtable uid key value 101 c1 11 101 c2 12 101 c3 13 102 c1 21 102 c2 22 102 c3 23 htable uid c1 c2 c3 101 11 12 13 102 21 22 23 一、标准SQL实现 1.列转行(htable => vtable) SELECT uid, max...阅读全文

程序员宅基地 9987-04-07 00:00 程序员宅基地

【hive】cube和rollup函数 - zzhangyuhang

cube 数据立方体(Data Cube),是多维模型的一个形象的说法.(关于多维模型这里不讲述,在数据仓库设计过程中还挺重要的,有兴趣自行查阅) 立方体其本身只有三维,但多维模型不仅限于三维模型,可以组合更多的维度 为什么叫数据立方体? 一方面是出于更方便地解释和描述,同时也是给思维成像和想象的空间; 另一方面是为了与传统关系型数据库的二维表区别开来 下图为数据立方体的形象图 其实并不用把cube理解得很高大上,只要理解为分别按照不同维度进行聚合. hive中也有cube函数,可以实现多个任意...阅读全文

博客园 2018-11-19 23:19 博客园

刨根问底,Kafka消息中间件到底会不会丢消息

大型互联网公司一般都会要求消息传递最大限度的不丢失,比如用户服务给代金券服务发送一个消息,如果消息丢失会造成用户未收到应得的代金券,最终用户会投诉。 为避免上面类似情况的发生,除了做好补偿措施,更应该在系设计的时候充分考虑各种异常,设计一个稳定、高可用的消息系统。 认识 Kafka 看一下维基百科的定义 Kafka 是分布式发布-订阅消息系统。它最初由 LinkedIn 公司开发,之后成为 Apache 项目的一部分。Kafka是一个分布式的、可划分的、冗余备份的持久性的日志服务。它主要用于处理...阅读全文

爱代码爱编程 2022-03-02 00:00 爱代码爱编程

大型互联网公司一般都会要求消息传递最大限度的不丢失,比如用户服务给代金券服务发送一个消息,如果消息丢失会造成用户未收到应得的代金券,最终用户会投诉。为避免上面类似情况的发生,除了做好补偿措施,更应该在系设计的时候充分考虑各种异常,设计一个稳定、高可用的消息系统。认识 Kafka看一下维基百科的定义Kafka 是分布式发布-订阅消息系统。它最初由 LinkedIn 公司开发,之后成为 Apache 项目的一部分。Kafka是一个分布式的、可划分的、冗余备份的持久性的日志服务。它主要用于处理活跃的流...阅读全文

mp.weixin.qq.com 2022-07-08 15:44 mp.weixin.qq.co 等

SQL子查询总结:相关子查询与非相关子查询有什么区别

如果一个select语句能够返回单个值或者一列值,且该select语句嵌套在另一个SQL语句(例如select语句、insert语句、update语句或者delete语句)中,那么该select语句成为“子查询”(也叫内层查询),包含子查询的SQL语句称为“主查询”(也叫外层查询)。为了标记子查询与主查询之间的关系,通常将子查询写在小括号内。子查询一般用在主查询的where子句或having子句中,与比较运算符或者逻辑运算符一起构成where筛选条件或having筛选条件。子查询分为“相关子查询...阅读全文

知乎 2021-02-10 10:22 知乎

抽象语法树为什么抽象 - 云+社区

从具体到抽象 Abstract Syntax Tree抽象语法树(通常被简写成AST)实际上只是一个解析树(parse tree)的一个精简版本。在编译器设计的语境中,"AST" 和 "语法树"(syntax tree)是可以互换的。什么是解析树呢?我们知道一棵解析树是包含代码所有语法信息的树型结构,它是代码的直接翻译。所以解析树,也被成为具象语法树(Concret Syntax Tree, 简称CST);而抽象语法树,忽略了一些解析树包含的一些语法信息,剥离掉一些不重要的细节,所以它看起并不像...阅读全文

腾讯云 2020-08-17 00:13 腾讯云

[Vim] 搜索模式(正则表达式) - iFantasticMe

本文介绍如何使用Vim的搜索模式。   搜索单词 Vim中使用 \< 和 \> 分别表示单词的开头和结尾,例如查找单词 i 而不是字母 i ,在正常模式下,按下 / 启动搜索模式,输入 \<i\> ,敲击回车即可。 要查找当前光标覆盖的单词,敲击 * ,Vim会自动启动搜索模式,光标移动到该单词下一个现身位置。   搜索当前单词并连续修改 假定当前光标覆盖的单词为 foo,按下 * 键,Vim 会搜索并跳转到下一个 foo 的位置,按下 ciw 组合键,意思是 change inner word...阅读全文

博客园 2014-07-06 09:47 博客园

JVM中的[Ljava.lang.Object; 究竟是什么意思? - 云+社区

你是不是经常看到控制台输出如题的日志,而似懂非懂的。今天我们就来介绍下这些L啦究竟是些什么东东。比如说我们经常看到这样的日志:[Ljava.lang.Object; cannot be cast to [Ljava.lang.String;先来简单的说一下, "["表示数组,后面跟着的是具体的类型。这里我们再给出一个典型的例子来看看:(IDLjava/lang/Thread;)Ljava/lang/Object;这就是表示一个方法,方法有三个参数,类型分别为I,D,L。返回值类型为L。然后L类型...阅读全文

腾讯云 2018-07-25 17:11 腾讯云

Flink中task的failover机制_Wu_San的博客

浅谈flink-cdc的使用 chenzuoli的博客 12-19 3961 Flink cdc1.x和2.x区别太大了,如果能升级最好了,不能升级,那么我们怎么避免1.x给我们带来的问题呢? 下面结合我在公司生产的实践,给大家说说。 解决Ubuntu挂载U盘失败的解决方法 csd_meb的专栏 03-03 9096 问题:unable to mount …: not authorized 首先:sudo fdisk -l 列出当前系统下的文件设备 然后创建一个临时目录,用于挂在U盘 sudo ...阅读全文

ElasticSearch date_histogram按时间聚合统计_wanson2015的博客

按时间统计 如果搜索是在 Elasticsearch 中使用频率最高的,那么构建按时间统计的 date_histogram 紧随其后。 为什么你会想用 date_histogram 呢? 假设你的数据带时间戳。 无论是什么数据(Apache 事件日志、股票买卖交易时间、棒球运动时间)只要带有时间戳都可以进行 date_histogram 分析。当你的数据有时间戳,你总是想在 时间 维度上构建指标分析: 今年每月销售多少台汽车?这只股票最近 12 小时的价格是多少?我们网站上周每小时的平均响应延迟...阅读全文

CSDN博客_date_histogram 2019-05-15 15:35 CSDN博客_date_his 等

什么是FastJson中AutoType反序列化漏洞?_hosaos的博客

文章目录 频繁出现的反序列化漏洞parse()及parseObject()AutoType及安全校验AutoType安全校验AutoType黑名单机制SafeMode安全机制攻击思路 反序列化攻击模拟TemplatesImpl攻击调用链路攻击类Translet生成构造攻击JSON串攻击模拟 写在最后 频繁出现的反序列化漏洞 最近公司的小伙伴们收到了一波安全工单,因为FastJson存在高危漏洞,要求将FastJson版本号升级到1.2.69及以上 漏洞描述如下 在Fastjson<=1.2.68...阅读全文

CSDN博客_fastjson的autotype属性 2020-06-30 15:08 CSDN博客_fastjson 等

[白话解析] Flink的Watermark机制 - 罗西的思考

[白话解析] Flink的Watermark机制 0x00 摘要 对于Flink来说,Watermark是个很难绕过去的概念。本文将从整体的思路上来说,运用感性直觉的思考来帮大家梳理Watermark概念。 0x01 问题 关于Watermark,很容易产生几个问题 Flink 流处理应用中,常见的处理需求/应对方案是什么? Watermark究竟应该翻译成水印还是水位线? Watermark本质是什么? Watermark是如何解决问题? 下面我们就来简要解答这些问题以给大家一个大致概念,在后...阅读全文

博客园 2020-02-09 11:10 博客园

MyBatis 循环 Foreach

MyBatis 循环 Foreach拾柒_发布于 2020-07-09 Mybatis之foreach用法----List、Array、Map三种类型遍历 原文地址 在mybatis的xml文件中构建动态sql语句时,经常会用到标签遍历查询条件。特此记录下不同情况下书写方式!-------仅供大家参考------ 1. foreach元素的属性 collection: 需做foreach(遍历)的对象,作为入参时,list、array对象时,collection属性值分别默认用"list"、"a...阅读全文

SegmentFault 思否 2020-07-09 00:00 SegmentFault 思否 等

关于log4j root logger 标签 以及additivity 属性_大鑫不列迭的博客

今天和两个同事讨论Log4j,他们都需要解决一个问题,怎么分开输出Logger。这么讲不清楚,举个例子:     Java代码    package com.gmail.at.ankyhe.log4jtest;      import org.apache.log4j.Logger;      public class ClassA {              private static Logger logger = Logger.getLogger(ClassA.class.getNam...阅读全文

CSDN博客_log4j root 2016-11-16 15:56 CSDN博客_log4j ro 等

Elasticsearch-入门到精通-7 PUT和POST区别_云姐的博客

文章目录 1、创建document 区别使用ES自动生成id使用自定义id 2、更新document 区别PUT全量替换 POST(1)最简单的 update 请求(2)使用脚本局部更新i. 修改_source字段内容ii. 添加数组字段的值iii. 根据内容删除文档iv. 更新可能不存在的文档v. 更新和冲突 3、HTTP 协议之PUT POSTPOSTPUT用PUT还是POST 4、总结:举例,给view字段+1操作疑问 PUT 是 强制创建、全量更新操作 POST 是 创建、局部更新操作 ...阅读全文

CSDN博客_put和post的区别 2020-03-24 04:52 CSDN博客_put和post 等

ElasticSearch 聚合分析 - 码农充电站

公号:码农充电站pro 主页:https://codeshellme.github.io ES 中的聚合分析(Aggregations)是对数据的统计分析功能,它的优点是实时性较高,相比于 Hadoop 速度更快。 1,聚合的分类 ES 中的聚合分析主要有以下 3 大类,每一类都提供了多种统计方法: Metrics:对文档字段进行统计分析(数学运算),多数 Metrics 的输出是单个值,部分 Metrics 的输出是多个值。 Sum:求和 Max:求最大值 Min:求最小值 Avg:求平均值 ...阅读全文

博客园 2021-02-24 09:53 博客园