- 博客(98)
- 资源 (4)
- 收藏
- 关注
原创 ClickHouse物化视图使用总结
1、clickhouse物化视图是一种空间换时间的预聚合方式,可以解决表索引问题,我们可以用物化视图创建另外一种物理序,来满足某些条件下的查询问题。2、物化视图因为是写入触发器,所以as select只对每批次的insert data有效果,所以即使是where条件也是对这批写入数据起效果。4、多表join生成物化视图,左表插入数据时才更新。3、物化视图只有在原表insert的时候才会触发。5、源表数据的改变不会影响物化视图。
2022-10-10 12:11:55
1389
原创 postgresql: set REPLICA IDENTITY using ALTER TABLE
postgresql删除表数据或者更新表数据报错,副本标识设置
2022-09-15 16:59:40
2531
原创 简单剖析OLAP异域猛兽——ClickHouse设计思路
ClickHouse 是一个用于联机分析 (OLAP) 的列式数据库管理系统 (DBMS)。异域是因为它来自俄罗斯,Yandex 公司,这家公司是俄罗斯本土搜索引擎企业,原本是为了分析自家的 Web 流量而开发的一款产品 ,后来经过演变,逐渐形成为现在的 ClickHouse,全称是:Click Stream,Data WareHouseClickHouse 官网它具有 ROLAP、在线实时查询、完整的 DBMS 功能支持、列式存储、不需要任何数据预处理、支持批量更新、拥有非常完善的 SQ...
2021-10-19 16:19:32
399
转载 Hive SQL迁移Spark SQL在网易传媒的实践
引言:把基于mapreduce的离线hiveSQL任务迁移到sparkSQL,不但能大幅缩短任务运行时间,还能节省不少计算资源。最近我们也把组内2000左右的hivesql任务迁移到了sparkSQL,这里做个简单的记录和分享,本文偏重于具体条件下的方案选择。
2021-10-19 10:01:21
449
转载 京东 ClickHouse 高可用实践
转载于京东 ClickHouse 高可用实践 – 过往记忆 分享嘉宾:李海波,京东OLAP机构师导读:京东OLAP采取ClickHouse为主Doris为辅的策略,有3000台服务器,每天亿次查询万亿条数据写入,广泛服务于各个应用场景,经过历次大促考验,提供了稳定的服务。本文介绍了ClickHouse在京东的高可用实践,包括选型过程、集群部署、高可用架构、问题和规划。一、应用场景和选型京东数据分析的场景非常多,在交易、流量、大屏、用户分析和算法等多场景中采用到了OLAP技术。那么在应...
2021-10-19 09:42:39
576
原创 分布式消息队列Kafka,收藏这篇文章就够了
分布式消息队列Kafka,收藏这篇文章就够了一、kafka是什么?MQ是一个消息中间件,可以在服务器之间进行通信。常见的消息队列模式点对点Queue:一个消息只能被一个消费者接收发布与订阅Topic:一个消息可以被订阅了该主题的多个消费者接收常见的消息队列产品activeMQ,activeMQ可以做到事务的支持,为了数据的严谨性,业务系统一般选择activeMQrabbitMQzeroMQrocketMQkafka 只有订阅与发布kafka是一个分布式消息队列中间件,跟传统的
2021-10-18 16:50:19
481
原创 常考SQL场景之小鹏汽车充电每辆车连续快充次数
今天手撕小鹏汽车每辆车连续快充次数题场景小鹏汽车充电有两种类型,快充、慢充,有如下数据:车辆ID 充电时间 充电类型 a 20200601 19:21:09 1a 20200611 11:30:09 1a 20200621 21:10:09 0a 20200701 19:01:09 1a 20200701 20:30:09 1a 20200701 21:00:09 0a
2021-10-12 17:02:12
920
2
原创 一文搞掂十大经典排序算法
一文搞掂十大经典排序算法今天整理一下十大经典排序算法。1、冒泡排序——越小的元素会经由交换慢慢“浮”到数列的顶端算法演示算法步骤比较相邻的元素。如果第一个比第二个大,就交换它们两个;对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,这样在最后的元素应该会是最大的数;针对所有的元素重复以上的步骤,除了最后一个;重复步骤1~3,直到排序完成。算法实现def bubbleSort(arr): for i in range(1, len(arr)): f
2021-10-12 00:50:27
19233
16
原创 经典SQL之留存率
什么是留存率n日留存率 = 第n天还在登录的用户数/新增的用户数如:假如某日新增了100个用户,第2天登录了50个,则第2天留存率为50/100=50%,第3天登录了30个,则第3天留存率为30/100=30%,以此类推,第7天登录了10个用户,则7日留存率就是10/100=10%。表drop table if exists tmp_db.user_login_details;create table tmp_db.user_login_details (Userid int -- 用户ID
2021-10-09 18:42:40
3586
转载 领域建模在有赞客户领域的实践
以下文章来源于有赞coder,作者有赞技术作者:Joker一、What’s DDD?从定义入手DDD全称Domain-Driven Design,即领域驱动设计,由Eric Evans于2003年提出。那既然是一种设计方法,ddd的作用对象是什么呢?这个问题光从定义是看不出来的,我们再往下看看。换一个更高的视角我们在谈论到架构设计的时候,可以简化为三个层面:系统架构、技术架构和业务架构,这三者从三个不同的视角来描述我们的系统。系统架构关注系统的架构分层,技术架构决定使用的技术栈和框架。而作为一个偏
2021-10-08 16:29:25
732
原创 经典SQL之连续3天登陆
经典SQL1——连续3天登陆无论大厂还是小厂,在SQL题面试中,面试官都很喜欢问连续3天登陆,那么今天就来手撕一下建表在Hive中简单建表drop table if exists user_login_details_last_3_day;create table user_login_details_last_3_day (Userid int ,login_date date)插入临时数据简单插入几条测试数据insert overwrite table user_login_de
2021-10-08 11:19:19
8454
转载 美团外卖实时数仓建设实践
转载自美团外卖实时数仓建设实践 - 美团技术团队实时数仓以端到端低延迟、SQL标准化、快速响应变化、数据统一为目标。美团外卖数据智能组总结的最佳实践是:一个通用的实时生产平台跟一个通用交互式实时分析引擎相互配合,同时满足实时和准实时业务场景。两者合理分工,互相补充,形成易开发、易维护且效率高的流水线,兼顾开发效率与生产成本,以较好的投入产出比满足业务的多样性需求。01 实时场景实时数据在美团外卖的场景是非常多的,主要有以下几个方面:运营层面:比如实时业务变化,实时营销效果,当日营..
2021-09-30 11:16:39
274
转载 伴鱼数据质量中心的设计与实现
日常工作中,数据开发工程师开发上线完一个任务后并不是就可以高枕无忧了,时常会因为上游链路数据异常或者自身处理逻辑的 BUG 导致产出的数据结果不可信。而这个问题的发现可能会经历一个较长的周期(尤其是离线场景),往往是业务方通过上层数据报表发现数据异常后 push 数据方去定位问题(对于一个较冷的报表,这个周期可能会更长)。同时,由于数据加工链路较长需要借助数据的血缘关系逐个任务排查,也会导致问题的定位难度增大,严重影响开发人员的工作效率。更有甚者,如果数据问题没有被及时发现,可能导致业务方作出错误的决策。此
2021-09-30 10:44:43
361
原创 Hive常用函数总结二——开窗函数
窗口函数又叫OLAP函数/分析函数,窗口函数兼具分组和排序功能。窗口函数最重要的关键字是partition by和order by具体语法如下:XXX over (partition by xxx order by xxx)over()里面的 partition by 和 order by 都不是必选的,over()里面可以只有partition by,也可以只有order by,也可以两个都没有,需根据需求灵活运用。1.sum、avg、min、max创建表create ...
2021-09-29 19:54:44
1669
原创 Hive常用函数总结一——字符串函数与日期/时间函数
一、字符串类函数说明:对字符进行拼接、截取、去空格如:concat、concat_ws、substring、trim、lpad、rpad、split、find_in_set1.1 concat说明:拼接字符SELECTCONCAT(user_name,dt)FROMuser_view-- 输出:"welsh20200801""Albert20200801"1.2 concat_ws说明:拼接字符且分割SELECTCONCAT_WS(':',use...
2021-09-29 18:48:18
585
原创 SQL-Server查看数据库执行过的历史代码
SQL-Server查看数据库执行过的历史代码有时间我们在SQL-Server客户端上写SQL,写了一大段,突然外界的因素把客户端关闭了,代码没有保存也就不见了,抓狂~ 那么如何找到SQL-Server数据库执行过的历史代码记录呢?直接上代码,改一下时间即可执行。SELECT TOP 1000 T1.creation_time ,SUBSTRING(T2.text, (T1.statement_start_offset / 2) + 1, (.
2021-04-28 12:01:30
6067
3
原创 MySql创建临时表报错 Statement violates GTID consistency
MySql 在创建临时表时候报错 :Statement violates GTID consistency一、问题重现drop table if exists temp_01;create table temp_01 as select id,name,createtime from user_info二、原因我的MySQL版本用的是5.7,GTID指的是全局事务ID(global transaction identifier)原来新建的MySQL数据库是MyISAM模式,该模
2021-04-02 16:09:09
9564
1
原创 SQL-SERVER的STUFF函数——group by 分组,字符串合并
SQL SERVER 分组group by之后,字符串合并在一起,逗号隔开。原本数据:效果:代码:-use DB01;-- 建表create table dbo.tb_user_product(id int null,name varchar(10) null,product varchar(100) null ,amount decimal(9,2) null); -- 插入数据insert into dbo.tb_user_product values ('
2020-10-14 16:53:46
10744
4
原创 SQL SERVER 把逗号隔开的字符串拆分成行
现有数据,比如爱好hobby,有多个爱好用逗号隔开放在一起存储,现在需要把他们分开最终结果直接上脚本use DB01;-- 建表create table dbo.tb_hobby(id int null,name varchar(10) null,hobby varchar(100) null );-- 插入数据insert into dbo.tb_hobby values ('1001','朱梅拉','跑步,踢足球,打篮球');insert into dbo.tb
2020-09-30 18:56:15
8992
原创 SQL 新旧两张表数据对比是否一致
有新旧两张表结构一样的表,需要对比一下两张表的数据是否一致。1、首先对比一下数据量select count(1)from table_new;select count(1)from table_old;2、新表except旧表,得出的数据再left join 旧表# 新表table_new 与旧表table_old 对比, 插入临时表#diff_newselect id ,aa ,bb ,cc ,dd from table_new
2020-08-28 11:02:15
18798
原创 SQL-SERVER The transaction log for database tempdb‘is full due to ACTIVE_TRANSACTION
SQL Server 执行一张大表的存储过程,报错:The transaction log for database tempdb'is full due to ACTIVE_TRANSACTION由于活动事务太长,数据库tempdb'的事务日志已满-- 查看Disk的Free Spaceexec sys.xp_fixeddrives-- 查看数据库空间的使用情况exec sys.sp_spaceused需要收缩数据库或者执行USE tempdbGODBCC
2020-07-07 10:00:41
1981
转载 阿里数据中台维度建模规范、维度模型设计及模型实施方法论
阿里中台的概念,可以说是近些年来的颇为火爆的概念。从十余年前的阿里在内部完成这一过程,并提出了“中台”概念;到后面中台概念逐步被外部接受并在2019年爆火兴起。数据中台爆火背后,既有传统企业转型焦虑的市场东风,又有阿里中台战略示范效应的推波助澜。下图为阿里中台架构(图片来自网络),其内置“大中台、小前台”的战略,其中包含了业务中台和数据中台的双中台配置。 从本质上来说,中台概念更多是一种方法论。它来告诉用户如何构建数据化服务体系,包括从数据集成、数据建模、数据开发、数据共享到数据质量、数据治理等。
2020-06-15 10:54:06
5408
原创 概率——联合概率,边缘概率,条件概率
一、关于概率的两个流派频率派概率:抛硬币,可重复事件的频率贝叶斯派概率:病人患病,不可重复事件的信念二、联合概率比如,一手抛硬币,一手掷骰子 ,它们相互独立,它们的联合概率就是把各自的概率相乘硬币为正面,骰子为1的联合概率:12{1} \over {2}21 × 16{1} \over {6}61 = 112{1} \over {12}121三、边缘概率就是把对应的两个概率相加求x=a 的边缘概率 就是 把 x=a 的 y 的所有可能性相加四、联合概率在一定条件
2020-06-12 23:09:37
2042
原创 drop database正确姿势
你以为 drop database就可以跑路了吗?USE masterGOdrop database BI_ABC;报错:无法删除数据库 "XXXX",因为该数据库当前正在使用正确姿势:USE MASTER GO DECLARE @dbname SYSNAME SET @dbname = 'BI_ABC' --BI_ABC是要删除的数据库库名 DECLARE @s NVARCHAR(1000) DECLARE tb CURSOR L..
2020-06-09 16:18:42
2940
原创 Shell编程速查点
基本格式#!是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell#!/bin/bash使脚本具有执行的权限chmod +x ./aa.sh./hello.sh #执行脚本
2020-06-01 15:42:49
195
原创 从maven配置讲起,快速搭建Spring Boot
最近接到一个任务说是要用Spring Boot 做一个项目,之前用过Spring,不过很久没用了。那么Spring 和Spring Boot有什么关系呢?Spring Boot 是基于Spring之上的一个快速应用构建框架,Spring Boot内部整合了大量的依赖,而且这些依赖是没有版本冲突的,能够通过少量的配置就能让程序运行,它主要解决了Spring 依赖太多,配置繁琐的问题。搭建Spring Boot环境之前,你所需要安装:JDK1.8 IDEA Maven这里有一个坑就是Maven
2020-05-27 12:42:50
370
转载 MSBI常见问题总结
SSIS 1、对连接管理器“DC”的AcquireConnection方法调用失败,错误代码0xC0209303。可能在此之前已经发出错误消息,提供了有关AcquireConnection方法调用失败原因的详细信息…? 解决办法:右键“解决方案管理器”,点击“属性”,在调试选项中将Run64BitRuntime的值改成False。 2、出现LOE DB源,无法从OLE DB访问接口检索列代码页信息。如果该组件支持“DefaultCodePage”属性,将使用来自该属性的代码页。...
2020-05-27 10:39:37
621
原创 从Git安装、配置远程仓库到免输入密码推送一次搞掂
1、Git安装分别安装图上软件免得大家一个一个找,这里我把安装包分享一下链接:https://pan.baidu.com/s/1koybvCYopNXYjkZeV4oNtQ 提取码:fsll 下一步下一步安装完之后,习惯中文的可以在设置里面中文。2、设置ssh keys打开GitHub官网 :https://github.com/登录鼠标右键点击Git Bash Here跳出命令框,输入:ssh-key -t rsa -C "wxxxx@163.com".
2020-05-16 03:13:20
676
1
原创 机器学习基本概念(前菜)
人工智能三次浪潮随着大数据的兴起,机器学习、人工智能也随之火爆。其实,人工智能这个概念并不新鲜,早在上个世纪五十年代就已经有人提出,到目前为止已有三次浪潮,分别是:人工智能第一次浪潮:1950-1970,符号主义流派:专家系统占主导地位 1950 :图灵设计国际象棋程序 1956 Artificial Intelligence 提出,人工智能的目的就是让计算机这台机器能够像人一样...
2020-05-12 22:09:39
447
原创 使用Sublime对比两个文件,并解决对比过程中的中文乱码
Sublime使用起来挺好用的,界面又舒服,这里介绍一下使用Sublime对比两个文件,并解决对比过程中的中文乱码。1、安装对比插件ctrl+shift+p ,出现小弹框之后输入install package,然后回车这时候,左下角会有小-在动,片刻再次出现弹框输入sublimerge 然后回车片刻安装成功2、进行对比用sublime打开你要对比的两个文件,在其中的一个文件的界面空白处 右键 选择 sublimege —— compare to view...
2020-05-12 15:36:04
3473
原创 解决DNS服务器未响应网络异常
最近电脑一开机经常连不上网络,过一段时间就能连上,虽然不是什么大问题,但是老是这样挺烦的。解决:找到电脑右下角的网络图标—右键点击“打开网络和Internet设置” —状态 — 网络疑难解答诊断结果如下:DNS服务器未响应DNS服务器即域名服务器,它主要的作用是将域名“翻译”成计算机能理解的IP地址...
2020-05-11 01:33:17
8257
3
原创 入门人工智能之初见Python
近年来人工智能之所以发展迅猛,很大程度是得益于如今爆炸级的海量数据和丰富的机器学习库,其中基于Python的Sklearn工具包,涵盖了几乎所有主流机器学习算法,所以学习机器学习,入门AI,很有必要掌握Python这一门编程语言环境准备习惯用IDEA开发的可以在Setting下的Plugins搜索安装Python插件。我是采用...
2020-05-11 01:03:31
249
原创 查看SQL-SERVER数据库及各个表的数据量及占用空间大小
1、查看某个数据库,直接执行存储过程sp_spaceused即可exec sp_spaceused;2、查看某个表,在存储过程后面加上表名即可EXEC sp_spaceused 'T_XXXXX';3、查看该数据库中的所有表,可以写一个存储过程,然后执行即可存储过程如下: SET ANSI_NULLS ONGOSET QUOTED_IDENTIFI...
2020-05-07 17:11:37
16778
2
原创 web框架之springmvc参数绑定
在spring框架中,参数绑定指的是通过处理器方法的形参,接收到请求的url或者表单中的参数数据。分为:默认支持参数类型 简单参数类型 pojo参数类型 pojo包装类型 自定义参数类型 数组参数类型 list参数类型一、默认支持参数类型1. HttpServletRequest作用:通过request,获取请求的参数数据。2. HttpServletRespons...
2020-04-22 15:00:48
151
原创 Spark是怎么进行资源任务和资源分配的?
任务调度机制Spark-submit启动进程,初始化创建SparkContext SparkContext构建DAGSchedular和TaskSchedular 客户端连接master申请注册application master接收application注册申请,根据资源调度算法(FIFO、FAIR)在worker节点上启动多个executor 通知worker启动executor...
2020-04-22 11:40:25
1348
原创 一文解决MySQL大部分问题
下面这两个方面能够解决MySQL80%的问题SQL级别1、明确select列表的列select * from t;优化:明确你想要查询的列select id,name from t;2、空间换时间:建立索引,走索引,避免全表扫描select id ,name from t where name is null -- 空值不能利用索引,所以还是全表扫描select...
2020-04-21 11:03:20
402
转载 数据中台已成下一风口,它会颠覆数据工程师的工作吗?
导读:数据中台被誉为大数据的下一站,由阿里兴起,核心思想是数据共享,并在 2018 年因为“腾讯数据中台论”再度成为了人们谈论的焦点。在 3 月 15 日 ThoughtWorks 技术雷达峰会上,关于数据中台的话题也获得了众多参会者的热烈关注。如今似乎人人都在提数据中台,但却不是所有人都清楚数据中台到底意味着什么。数据中台是只有大厂才需要考虑的高大上的概念吗?普通企业该不该做数据中台?数据中台的出现会给现有数据从业者们带来颠覆式的挑战吗?带着上述问题,InfoQ 在技术雷达峰会上采访了 ThoughtWo
2020-04-21 10:08:05
371
原创 80%知识点之分布式消息队列Kafka
一、Kafka是什么二、分片与副本机制三、消息不丢失机制四、分发策略五、负载均衡六、文件存储与查询机制七、安全性一、Kafka是什么Kafka是一个开源的分布式消息队列,通过缓冲,来异构、解耦系统,与其他MQ相比,其优势在于高吞吐高性能。上图所示为Kafka的基本架构,主要为:Cluster:由多个服务器组成,每个服务器单独叫brokerBrok...
2020-04-20 10:48:18
468
构建企业级数仓-Hadoop可行性分析报告.docx
2020-04-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅