SQL
闻香识代码
这个作者很懒,什么都没留下…
展开
-
数仓 拉链表
数仓 拉链表1. 背景在数仓开发中,有时候需要记录下数据的所有历史状态,大家是否想起来,其实企业开发中代码也是有这个需求,公司中的需求文档,设计稿也都是有这个需求的。在大数据场景中,其实很多数据存储框架,都会对数据加版本,这是由于数据存储本身机制导致的。例如HBase,kafka都是有数据版本的。因为这些数据存储到磁盘时,是采取顺序写入,这样写入速度很高甚至可以达到内存随机读写的速度。不过带来的坏处就是不能像正常的数据写入更新同一条数据,而是写入一条新的数据,等到一定时机,再对这些数据做合并。而在原创 2020-10-23 22:22:34 · 589 阅读 · 0 评论 -
SQL 面试题之行列转置
SQL 面试题之行列转置1. 题目2. 思路分析从结果来看,结果要求按照人,这时候很自然就是group bygroup by之后,使用聚合函数将分数取出来,这时候需要判断科目取分数,case when,使用if 嵌套也可以,但会复杂起来3. 扩展使用collect concat可以将数据搜集起来使用explode,使用字符串切割可以将字符串炸开。灵活运用上述操作,可以带来很灵活的行列数据转换。...原创 2020-10-23 21:42:59 · 512 阅读 · 0 评论 -
Hive 导入Json格式化数据插件JsonSerDe(hive 3.1.2可用)
Hive 导入Json格式化数据插件JsonSerDe1. 官方连接https://gitee.com/mirrors_dblock/Hive-JSON-Serde2. 使用实测 hive 3.1.2也是可以使用的使用时脚本演示CREATE EXTERNAL TABLE ODS17.APP_ACTION_LOG(account string comment 'user login account' , -- 用户登录账号appI原创 2020-10-12 21:19:12 · 717 阅读 · 0 评论 -
Spark SQL 集成Hive(二)
Spark SQL 集成Hive(二)1. 背景Hive可以看做是一个转换器,将SQL转换为mapreduce或者spark程序Spark SQL也可以看成一个转换器,将SQL转换为spark程序Hive集成Spark SQL有几种集成方式,一种是直接使用Spark SQL替代Hive,SQL是Spark SQL,程序转换也是Spark 程序,唯一有关联的就是一个hive-site.xml配置文件。本文讲述的就是第一种另外一种集成方式就是SQL还是hive,但执行引擎变成了Spark。这种集成也原创 2020-10-08 14:25:09 · 196 阅读 · 0 评论 -
Spark SQL 集成Hive(一)
Spark SQL 集成Hive(一)1. 背景Hive可以看做是一个转换器,将SQL转换为mapreduce或者spark程序Spark SQL也可以看成一个转换器,将SQL转换为spark程序Hive集成Spark SQL有几种集成方式,一种是直接使用Spark SQL替代Hive,SQL是Spark SQL,程序转换也是Spark 程序,唯一有关联的就是一个hive-site.xml配置文件。本文讲述的就是第一种另外一种集成方式就是SQL还是hive,但执行引擎变成了Spark。2.原创 2020-10-08 11:34:33 · 712 阅读 · 0 评论 -
HQL (hive sql)之函数总结
HQL (hive sql)之函数总结1. 背景作为操作hive客户端的编程语言,hql有自己的数据类型,自然也有编译器,也有函数。并且这个函数有内置,也允许自定义来扩展功能注意,不管是普通hql语言还是函数,最终都是转换为mapreduce程序来运行。(很少部分例外,是一些sql语句可以优化为不使用mapreduce,直接读取文件获取结果即可)2. hive定义函数2.1. 查看系统自带函数show functions;2.2. 显示自带函数用法 desc function upp原创 2020-09-06 21:41:33 · 1956 阅读 · 0 评论 -
HQL(Hive SQL) 之查询语句专题汇总
HQL(Hive SQL) 之查询语句专题汇总1. 背景hive本身是一个将sql语句转换为mapreduce 程序运行的转换器hive可以把结构化数据转换到一张表上,并提供查询和分析的功能针对这个过程,hive从sql优化、从mapreduce优化这2个大的角度来提升hive的性能表现。sql优化,这个基于现有的第三方组件是比较成熟的技术解决方案。但优化mapreduce则需要更多精力。因为mapreduce代码是根据模板,将sql经过这个模板,转换为mapreduce程序。hive本身是一原创 2020-09-06 20:38:51 · 2168 阅读 · 2 评论 -
Hive HQL知识DDL汇总之数据库操作
Hive HQL知识DDL汇总之数据库操作1. 概述Hive可以将结构化数据、文件转换为一张表来进行数据查询和分析。Hive基于SQL规范实现了一套类SQL的查询规范,称之为HQLSQL本身是一种编程语言规范,数据类型定义、函数定义、DDL(data definition language)、DML(data manipulation language)。HQL可以看成是输入的信息,经过hive驱动转换后(sql解析、sql优化、编译–将sql转换为mapreduce程序、执行器),最终是变成了原创 2020-09-05 17:06:18 · 274 阅读 · 0 评论 -
SQL 知识点学习汇总,SQL学习这一篇就足够了
SQL学习知识点汇总1.SQL是什么?SQL其实是一种编程语言,用于访问和处理数据库的计算机语言编程语言都有几个特性,有数据类型、可以做运算。编程语言是为了编程而发明,而程序=数据+算法。所以编程语言是一定需要具备数据类型和运算能力的。所以对比而言,html就不是编程语言,因为只有数据类型,而无法做运算。SQL是有数据类型,也可以做运算的。SQL,structural query language,结构化查询语言2.SQL可以做什么?可以访问数据库可以对数据库做增删改查操作(数据创建原创 2020-08-26 15:46:47 · 2735 阅读 · 0 评论