13k 12 分钟

本文通过简单易懂的业务场景,旨在提高大家的 SQL 水平。把文中所有的 SQL 全理解了,工作中遇到的各种 SQL 场景和面试中遇到的各种 SQL 问题都能灵活应对。文中所有的 SQL 都支持 Hive 语法,学会了 Hive 的 SQL,那么 MySQL 的 SQL 题也都可以 cover 住,下面的题目难度从简单到困难的都有。笔者在之前练习 SQL 过程中,发现了网上一些比较好的 SQL 题目,但是苦于好多博客提供的 SQL 可读性、规范性、执行效率并不高,因此才有了今天这篇博文,后续如果发现有可优化的的 SQL,笔者会持续更新本博文。 # 数据表介绍 # 学生表 create table...
449 1 分钟

# 数据集市 # 维度设计 # 时间维度 DROP TABLE IF EXISTS dim_date_info;CREATE EXTERNAL TABLE dim_date_info( `date_id` STRING COMMENT '日', `week_id` STRING COMMENT '周ID', `week_day` STRING COMMENT '周几', `day` STRING COMMENT '每月的第几天', `month` STRING COMMENT '第几月', `quarter`...
6.4k 6 分钟

数据服务是数据中台体系中的关键组成部分。作为数仓对接上层应用的统一出入口,数据服务将数仓当作一个统一的 DB 来访问,提供统一的 API 接口控制数据的流入及流出,能够满足用户对不同类型数据的访问需求。 电商平台唯品会的数据服务自 2019 年开始建设,在公司内经历了从无到有落地,再到为超过 30 + 业务方提供 To B、To C 的数据服务的过程。本文主要介绍唯品会自研数据服务 Hera 的相关背景、架构设计和核心功能。 # 背景介绍 在统一数仓数据服务之前,数仓提供的访问接入方式往往存在效率问题低、数据指标难统一等问题,具体而言有以下几个比较突出的情况: 广告人群 USP、DMP...
3k 3 分钟

滴滴的核心业务是一个实时在线服务,因此具有丰富的实时数据和实时计算场景。本文将介绍滴滴实时计算发展之路以及平台架构实践。 一、实时计算演进 随着滴滴业务的发展,滴滴的实时计算架构也在快速演变。到目前为止大概经历了三个阶段: 业务方自建小集群阶段; 集中式大集群、平台化阶段; SQL 化阶段。 下图标识了其中重要的里程碑,稍后会给出详细阐述: 在 2017 年以前,滴滴并没有统一的实时计算平台,而是各个业务方自建小集群。其中用到的引擎有 Storm、JStorm、Spark Streaming、Samza...
13k 12 分钟

一、最基础的队列 最基础的消息队列其实就是一个双端队列,我们可以用双向链表来实现,如下图所示: push_front:添加元素到队首; pop_tail:从队尾取出元素。 有了这样的数据结构之后,我们就可以在内存中构建一个消息队列,一些任务不停地往队列里添加消息,同时另一些任务不断地从队尾有序地取出这些消息。添加消息的任务我们称为 producer,而取出并使用消息的任务,我们称之为 consumer。 要实现这样的内存消息队列并不难,甚至可以说很容易。但是如果要让它能在应对海量的并发读写时保持高效,还是需要下很多功夫的。 # 二、Redis 的队列 redis 刚好提供了上述的数据结构...
3.2k 3 分钟

# 负载均衡 Nginx 的使用 该部分从属于数据采集部分,主要作用为实现几台数采服务器的负载均衡,因涉及新的技术 ---Nginx,所以单独成为一个 part # 1.1 Nginx 概述 Nginx 是一个高性能的 HTTP 和反向代理服务器,特点是占有内存少,并发能力强 与 tomcat 的关系 除了 tomcat 以外, apache,nginx,jboss,jetty 等都是 http 服务器。 nginx 和 apache 只支持静态页面和 CGI 协议的动态语言,比如 perl 、 php 等, 但是 nginx 不支持 java 。 Java 程序只能通过与...
23k 21 分钟

# Hive 学习 # 0.1 什么是 hive 1. Hive:由Facebook开源用于解决'海量结构化日志'的数据统计'工具'。2. Hive是基于Hadoop的一个'数据仓库工具',可以将结构化的数据文件'映射'为一张表,并提供类SQL查询功能。3. '本质':将HQL转化成MapReduce程序4. '原理介绍' (1)Hive处理的数据存储在HDFS (2)Hive分析数据底层的实现是MapReduce (3)执行程序运行在Yarn上# 0.2 优缺点 -- 1. 优点: 1....
5.6k 5 分钟

# hadoop # 入门 # 概论 概念 处理海量数据的存储和分析计算问题 特点 大量、高速、多样、低密度价值 组织架构 数据仓库组(ETL 和数据分析) 实时组(实时指标分析、性能调优) # hadoop 框架 hadoop 是什么 Apache 开发的分布式系统基础架构 一个生态圈 mahout zookeeper pig hbase .... 解决海量数据的存储和分析计算 三大发行版 Apache、Cloudera、Hortonworks 优势 高可靠:维护了多个副本 高拓展性:可根据需求进行增减服务器 高效性:task...
22k 20 分钟

# Kafka 总结 # 一、kafka 概述 # 1.1 kafka 定义 Kafka 是一个分布式的基于发布 / 订阅模式的消息队列,主要应用于大数据实时处理领域。 订阅式模式:一对多的关系,一个生产者,数据存储在消息队列中,多个消费者均可从这个消息对列中获取数据,消费者消费数据之后不会清除消息。 # 1.2 框架说明 一般都是从命令行和 API 两个方面进行讲解。 数据处理框架需要从数据的安全性以及效率两个方面深入了解。 # 1.3 Kafka 涉及的关键词 1. producer: 消息的生产者,即为向kafka broker发消息;2. broker :...
8.4k 8 分钟

# zookeeper 学习 # 一、zookeeper 入门 # 1.1 概述 -- 理解1) Apache一个分布式项目;2)是一个基于观察者模式设计的分布服务管理框架,负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦数据发生变化,则zookeeper通知观察者。-- zookeeper = 文件系统 + 通知机制。# 1.2 zookeeper 特点 -- 特点1) 每一节点都有一个不重复的myid标识zookeeper集群;2) 一个领导者(leader) 和 n 个追随者 (follower)组成的集群;3)...