大数据
DATASQL数据糖
一个30岁互联网人的下半场,
有技术,有思考……
展开
-
SQL30问
第一问:SQL是什么?SQL (Structured Query Language)是一门结构化查询语言,它遵循美国的ANSI的标准,多用于对数据库包括数据库中的数据进行操纵,如SELECT,UPDATE,DELETE,DROP等。第二问:数据库是什么?数据库是用来存储数据信息的地方,并提供数据排序、检索的能力。第三问:数据库和数据仓库的区别是什么?数据库(OLTP):主要是指传统的关系型数据库的应用,包括基本的、日常的事务的处理,更关注的是业务交易数据的处理。...原创 2020-08-07 15:31:35 · 269 阅读 · 0 评论 -
是NOSQL还是NEWSQL
近几年随着大数据生态圈的不断发展,NOSQL也随之声名鹊噪,甚至有超宇传统关系型数据库的风头。不光说的人多了,用到的地方也逐渐增多,尤其做作为大数据生态圈中的一员,被用到越来越多的地方。今天就跟大家捋一捋NOSQL产生的背景以及发展历程,顺便看看这个SQL到底是应该叫NOSQL还是NEWSQL?NOSQL产生的历史背景许多人可能认为NOSQL不过是传统关系型数据库的一个分类,其实不然。NOSQL起步并不晚于传统关系型数据库。几乎在E.F. Codd提出关系型理论的同时NOSQL也出现了,.原创 2020-08-05 11:25:10 · 563 阅读 · 1 评论 -
数据人必须知道的SQL概念(A-Z)
作为数据从业者,大家用的最多的应该就是SQL语言了,那么除了日常的select,你还了解哪些SQL相关的概念呢?今天就按照字母表的顺序(A-Z)来给大家简单介绍一下数据人必须知道的SQL概念大全。A:Alias别名,包含表的别名和列的别名。在哪些场景下我们需要用到别名呢?通常是多表join的时候表名过长,多次引用书写比较麻烦的时候我们会给表起一个别名;另外就是表join的时候,如果多个表中有重复的列名而且我们都需要提取出来的时候也需要别名;再则就是列级的别名,通常我们是给表中的列取一个“有意.原创 2020-08-04 10:48:34 · 1174 阅读 · 0 评论 -
运营必看SQL(中)—写好SQL的“六脉神剑
写在前面:如果你是一名程序员又恰好是一名SQLBOY的话,那么请移步,因为下面讲的实在太精彩但不专业;如果你是一名想学会写好SQL的运营,那么你一定要认真来读。本文用形象的的语言介绍写好SQL六大必须掌握的招式,每一式都是你写好SQL的关键。可能你之前只是会用之前的一招或者两招,下面教你的是如何六招联用,发挥无穷法力。第一式(WHERE):少商剑,剑路雄劲,颇有石破天惊,风雨大至之势中文意思,“在哪?哪里?”那在SQL里面where 主要用来干嘛呢?主要用来过滤数据集,所谓的过...原创 2020-08-02 23:35:46 · 445 阅读 · 0 评论 -
SQL中的空值、NULL以及类型转换那些坑
我们平常写SQL中遇到过滤空值或者NULL值的处理,尤其是在非关系型数据库中没有唯一键和默认值的约束要求,很容易出现NULL值或者空值。很多时候我们总是会出现困扰,到底是该使用=' ' 还是用 is NULL呢?另外我们一个多表JOIN的查询在这个SQL上跑的好好的,一旦换了一个SQL执行引擎就提示我们JOIN两边的数据类型不一致,这些都是为什么呢?今天就带大家一起领略一下各类SQL中空值以及类型转换那些坑。空值和NULL值一、底层字段类型为字符型(string,varch...原创 2020-07-31 10:25:35 · 4197 阅读 · 1 评论 -
一文带你搞定SQL中日期时间那些事
前语:使用的SQL多了不知道大家有没这样的困惑,SQL的语法大的方面是一致的,如SELECT,JOIN,GROUP BY等,但是在一些函数或某些特定功能处理上还是有很大差异的,而这些差异经常给大家带来困惑,尤其是一个新手从一种SQL转到另一种SQL的时候,总是抓耳挠腮,不知所措。今天就把大家常用的SQL语言做一个总结,来看看他们在日期时间处理方面的差异。前置说明:本文所用的日期时间均指:2020-07-20 10:58:59这种格式,时间戳指:1595932031这种格式。一、日期处理函数..原创 2020-07-29 10:45:05 · 398 阅读 · 0 评论 -
HIVE SQL优化的两个思路
上一篇我们介绍了关系型数据库SQL的优化主要是索引和减少数据量,本文以大家常用的HIVE SQL为基础来介绍如何优化SQL的运行速度。下面是本次分享的逻辑和顺序:HIVE SQL优化的核心数据倾斜大家知道大数据的核心之一就是数据量大,所以数据量很大对于大数据本身不是挑战,否则就不叫大数据了。大数据最怕的就是数据倾斜,所谓的倾斜就是所有的task都放到一个节点(暂且理解为一台机器)去这性,这样大数据的大(分布式集群)的优势就无法发挥出来。就想下面这整图,看着是一堆处理器,实际干..原创 2020-07-25 20:15:46 · 619 阅读 · 0 评论 -
count(*),count(1),count(id)的执行差异
写在前面:在日常的SQL中,我们统计总量的时候经常会用到count,有些同学喜欢用count(*),还有些同学用count(1),甚至还有用count(id/字段),那么这些写法在执行过程和执行结果上有什么区别吗?今天就带大家解开这个谜底。count函数的定义我们看下mysql官方对count函数的定义,这里包含三层意思:COUNT(expr)返回selsct检索语句中expr的值不为null的行数,其结果是一个BIGINT类型的值;如果没有匹配的行也就是所有行都是null或者表中没有.原创 2020-07-21 11:06:46 · 578 阅读 · 0 评论