自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 SQL语句实现数据排序后交叉分组

一个简单的sql语句实现排序后,根据排序值进行交叉排序分组的案例

2023-07-04 21:25:57 281

原创 SQL-开窗函数计算复购指标统计案例

复购指标计算:1、除用户是否归属复购外,复购指标统计,如金额、营收等2、不同复购周期的计算,7天,30天,60天,90天等等3、动态复购,用户每天起始往后的复购详情,又同归因

2022-06-20 17:59:02 994 1

原创 实现开窗count distinct 历史累计截止日期去重统计

解决问题:hive中count(distinct ) over() 无法使用场景累计去除统计,实际经常使用到的场景比如会员每日历史累计消费,项目每日累计营收等。案例:数据准备:用户轨迹用户访问日志表 test_visit_tabcookieid(用户id) uvdate(访问时间) pagename(浏览页面) pv(访问次数)cookie1 2022-02-01 A_page 1cookie1 2022-02-01 B_page 2cookie1 2022-02-0..

2022-02-24 18:32:20 7154

原创 kudu介绍:为什么要使用?

前言近两年,KUDU 在大数据平台的应用越来越广泛。在阿里、小米、网易等公司的大数据架构中,KUDU 都有着不可替代的地位。本文通过分析 KUDU 的设计, 试图解释为什么 KUDU 会被广泛应用于大数据领域,因为还没有研究过 KUDU 的代码,下面的介绍是根据 KUDU 的论文和网上的一些资料学习自己理解所得,如有不实之处,劳请指正。背景在 KUDU 之前,大数据主要以两种方式存储:静态数据:以 HDFS 引擎作为存储引擎,适用于高吞吐量的离线大数据分析场景。这类存储的局限性是数据无法进行

2021-12-19 17:27:02 794

原创 kudu 使用限制说明

主键表创建后,主键不能修改。必须删除重建表指定新的主键 主键列必须在非主键列之前 主键列的值不能使用UPDATE函数修改。如果要修改主键的值只能删除该行重新插入,并且该操作无法保持原子性; 主键的类型不支持DOUBLE、FLOAT、BOOL,并且主键必须是非空的(NOT NULL); 不支持自动生成的主键(如自增列) 每行对应的主键存储单元(CELL)最大为16KB列MySQL中的部分数据类型,如DECIMAL, CHAR, VARCHAR, DATE, ARRAY等不支持; 数据类型

2021-12-07 13:37:06 657

原创 阿里巴巴大数据之路-元数据

元数据元数据概述元数据定义元数据( Metadata )是关于数据的数据打通了源数据、数据仓库、数据应用,记录了数据从产生到消费的全过程主要记录数据仓库中模型的定义、各层级间的映射关系、监控数据仓库的数据状态及 ETL 的任务运行状态按用途分两类技术元数据技术元数据是存储关于数据仓库系统技术细节的数据,是用于开发和管理数据仓库使用的数据常见技术元数据类型分布式计算系统存储元数据理解为数据地图:如表、列、分区、责任人、生命周期等信息。分布式计算系

2021-11-16 22:17:07 1540

原创 presto连接kudu建表与查询方法

使用presto连接kudu查询引擎,在kudu中进行增删改查查询数据Apache Kudu 不支持模式,即表的命名空间。连接器可以选择通过表命名约定来模拟模默认行为(无模式模拟)默认情况下禁用模式模​​拟。在这种情况下,所有 Kudu 表都是default架构的一部分。例如, 如果目录和模式分别设置为和,则orders可以在 Presto 中查询名为 的 Kudu 表。SELECT * FROM kudu.default.orders、SELECT * FROM orders。表名

2021-11-15 19:47:24 3907

原创 阿里巴巴大数据之路-事实表设计

事实表设计事实表基础事实表特性通过获取描述业务过程的度量来表达业务过程,包含了引用的维度和与业务过程有关的度量事实表中一条记录所表达的业务细节程度被称为粒度粒度两种表达方式一种是维度属性组合所表示的细节程度一种是所表示的具体业务含义作为度量业务过程的事实整型或浮点型的十进制数值可加性可加性事实是指可以按照与事实表关联的任意维度进行汇总半可加性可加性事实只能按照特定维度汇总,不能对所有维度汇总,如库存只能指定条件可加无法日期汇总不可加

2021-11-10 02:14:27 1635

原创 阿里巴巴大数据之路-维度设计

维度设计维度设计基础维度的基本概念维度是维度建模的基础和灵魂。将度量称为“事实” ,将环境描述为“维度”维度所包含的表示维度的列,称为维度属性查询约束条件分组和报表标签生成的基本来源据易用性的关键维度使用主键标识其唯一性代理键不具有业务含义的键一般用于处理缓慢变化维前台应用系统:商品ID代理键自然键具有业务含义的键数据仓库系统:商品ID自然键维度的基本设计方法选择维度或新建维度维度的唯一性确定主维表一般是 O

2021-10-27 00:03:34 1102

原创 阿里巴巴大数据之路-数据整合&管理体系

数据整合&管理体系OneDataOneData 即是阿里巴巴内部进行数据整合及管理的方法体系和工 具。阿里巴巴的大数据工程师在这一体系下,构建统一、规范、可共享 的全域数据体系,避免数据的冗余和重复建设,规避数据烟囱和不一致 性,充分发挥阿里巴巴在大数据海量、多样性方面的独特优势。借助这 一统一化数据整合及管理的方法体系,我们构建了阿里巴巴的数据公共 层,并可以帮助相似的大数据项目快速落地实现。下面重点介绍 OneData 体系和实施方法论。概述阿里巴巴集团大数据建设方法论的核心是 :从业务

2021-10-08 09:41:10 1798

原创 阿里巴巴大数据之路-大数据领域建模综述

阿里巴巴大数据之道-大数据领域建模综述为什么要数据建模?Linux 的创始人 Torvalds 有一段关于“什么才是优秀程序员”的话:“烂程序员关心的是代码,好程序员关心的是数据 结构和它们之间的关系。“数据建模的好处性能 :良好的数据模型能帮助我们快速查询所需要的数据,减少 数据的 110 吞吐。成本 : 良好的数据模型能极大地减少不必要的数据冗余,也能实 现计算结果复用,极大地降低大数据系统中的存储和计算成本。效率 :良好的数据模型能极大地改善用户使用数据的体验,提高 使用数据的效率。质

2021-10-01 16:07:15 448

原创 hive explain 执行计划详解看懂执行过程

HIVE简介讲explain之前,先了解大家常说的用hive查询取数和etl的过程,但是在讲hive查询取数过程,又得先了解大家又常说的hadoop集群到底是干什么的?一句话概括:Hadoop就是存储海量数据和分析海量数据的工具。Hadoop是由java语言编写的,在分布式服务器集群上存储海量数据并运行分布式分析应用的开源框架,其核心部件是HDFS与MapReduce。 HDFS是一个分布式文件系统:引入存放文件元数据信息的服务器Namenode和实际存放数据的服务器Datanode,对数据进

2021-10-01 12:01:53 3489 1

原创 HIVE HDFS对NULL值处理

hive 写入null后在hdfs 中显示\N 存储,如果直接读取hdfs则会直接读到\N数值如何解决这个问题,需要对表属性中的null值存储进行修改,具体的表serialization.null.format可以在desc formatted 查询具体表属性Storage Desc Params: serialization.format 1 serialization.null.format N 场景构建:临时表创建CREATE T

2021-10-01 10:23:20 1608

原创 hive 开窗函数OVER(PARTITION)详解(二)

窗口函数有哪些?窗口函数可以分为以下 3 类:聚合(Aggregate):AVG(),COUNT(),MIN(),MAX(),SUM()...sum(col) over() : 分组对col累计求和 count(col) over() : 分组对col累计计数 min(col) over() : 分组对col求最小 max(col) over() : 分组求col的最大值 avg(col) over() : 分组求col列的平均值取值(Value):FIRST_VALUE(),LAS...

2021-09-27 16:53:50 1431

原创 hive 开窗函数OVER(PARTITION)详解(一)

什么是窗口函数?窗口函数(Window Function)是 SQL2003 标准中定义的一项新特性,并在 SQL2011、SQL2016 中又加以完善,添加了若干处拓展。窗口函数不同于我们熟悉的普通函数和聚合函数,它为每行数据进行一次计算:输入多行(一个窗口)、返回一个值。在报表等分析型查询中,窗口函数能优雅地表达某些需求,发挥不可替代的作用。窗口函数出现在 SELECT 子句的表达式列表中,它最显著的特点就是OVER关键字。语法定义如下:window_function (expres...

2021-09-23 11:01:00 2415

原创 Hive lateral view 用法-行转列

Hive: lateral view 用法lateral view 的语法格式lateralView: LATERAL VIEW udtf(expression) tableAlias AS columnAlias (','columnAlias)* fromClause: FROM baseTable (lateralView)*用法描述lateral view 要与UDTF函数一起使用,比如 explode() 函数。这里的UDTF函数是指用户自定义的表生成函数(英文全称:use.

2021-09-22 19:29:37 625

原创 HIVE left semi join & inner join区别

left semi join 详解LEFT SEMI JOIN以一种高效的方式实现了不相关的IN/EXISTS子查询语义。 在Hive 0.13中,IN/NOT IN/EXISTS/NOT EXISTS操作符被支持使用子查询,所以大多数join操作不再需要手动执行。 使用LEFT SEMI JOIN的限制是,右边的表只能在连接条件(on子句)中引用,而不能在WHERE或select子句等中引用。示例SELECT a.key, a.valueFROM aWHERE a.key in (SELECT

2021-09-22 15:41:35 641

原创 hive 动态分区与混合分区写入

hive分区测试:hive分区建立,静态、动态、混合分区,在混合中静态分区要在动态分区之前。删除时间段分区在partition()里面逻辑符用逗号, 比如时间段分区-- 批量删除分区数据alter table tmp_test.tmptable drop partition(dt>='20191101',dt<='20191130')分区数据写入创建一个分区测试表use tmp_test;drop table if exists tmp_test.cs_

2021-09-22 10:09:38 787

原创 HIVE 转义字符与特殊字符处理

Hadoop和Hive都是用UTF-8编码的,hive用java写的,所以同Java一样都是'\'转义很多函数会用到转义字符,比如split、regexp_replace等但是有时候需要两个转义字符"\\",或者四个转义字符“\\\\”单转义符'\':常规的为'\'进行字符串的转义 双转移符'\\':正则表达式匹配或者split函数中包含转义符 四个转义符'\\\\':split函数中存在转义符'\'为分隔符 分号:';'无法识别和转义,需要使用ASCII码处理(只要使用到了函数就会报错)

2021-09-18 15:27:32 9121

原创 hive正则匹配:regexp_replace、regexp_extract、regexp

hive正则匹配:regexp_replace、regexp_extract、regexp一、regexp语法介绍regexp语法: A REGEXP B操作类型: strings描述: 功能与RLIKE相同regexp_extract语法: regexp_extract(string subject, string pattern, int index)返回值: string说明:将字符串subject按照pattern正则表达式的规则拆分,返回index指定的字符。

2021-09-16 03:03:16 26572

原创 hive 字符串提取&json格式解析

前言在数据存储时研发端经常为了方便很多字段为了冗余存储了文本格式:json或者固定分隔符,但是数仓和数据分析在处理的时候又要进行取出单独的某个字段,进行使用,本文会详解下平时在工作中遇到的问题与处理办法。字符串固定分隔符处理案例:字符串以:|*|分隔,k-v以:分隔,取出其中scene_ids字段值字符串:|*|cityId:201|*|qId:4890f057-8c8d-4fd6-8029-9ec8a374ab3b|*|st:poi|*|sId:62778388|*|scene_ids:6,0

2021-09-13 10:17:46 5843

原创 SQL-实现excel向下填充的功能

一、数据处理背景说明数据背景:比如埋点过程中往往存在埋点记录缺失的问题,比如app跳转h5的获取用户卡号缺失,用同一ip获取卡号向下填充,进行数据补齐操作。抽象成以下数据场景:sql实现excel内自动向下填充的功能,实现下面的图片的数据填充处理功能二、处理过程分析针对查询sql存在CET递归的方法进行查询,这边主要针对数仓层hive使用tsql的方法进行处理。主要是对分组排序关联后进行字段null的填充。三、具体语句实现sql代码实现:with soucre as ( se

2021-09-13 10:13:39 1956 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除