SQL技巧分享 2018-08-09

16 sec read

以下SQL技巧为最近一周最新掌握的,记录下来以便后期使用。

1、随机抽样数据

HIVE SQL实现:

MSSQL T-SQL实现:

注意,T-SQL虽然也有rand()函数,生成的也是随机数,但在此并不适用,区别是rand()只生成一个随机数,而newid()是为每一列生成一个随机数。

2、HIVE分批查询数据

在MySQL中,想要分批查询数据只要使用limit的offset即可,但是在HIVE中,并没有offset的支持解决方案为使用ROW_NUMBER()生成新列后通过子查询进行限制:

3、HIVE不支持笛卡儿积查询的解决办法

报错内容为:ERROR : Error while compiling statement: FAILED: SemanticException [Error 10052]: In strict mode, cartesian product is not allowed. If you really want to perform the operation, set hive.mapred.mode=nonstrict

解决方案,将原来的:

修改为:

4、使用SQL计算Z-SCORE分值

5、使用order by 时无法使用UNION ALL的问题

解决方案时使用子查询,示例:

打赏作者
微信支付标点符 wechat qrcode
支付宝标点符 alipay qrcode

PySpider框架简介及安装

PySpider:一个国人编写的强大的网络爬虫系统并带有强大的WebUI。采用Python语言编写,分布式架构,支持多种数据库后端,强大的WebUI支持脚本编辑器,任务监视器,项目管理器以及结果查看器。
1 min read

Windows安装Docker记录

Docker是一种容器技术,可以将应用和环境等进行打包,形成一个独立的、类似于iOS的APP形式的应用。这个应用可以直接分发到任意一个支持Docker的环境中,通过简单的命令即可启动运行。Docker是一种最流行的容器化实现方案,和虚拟化技术类似,它极大的方便 ...
22 sec read

Windows下安装Tesserocr

在爬虫过程中,经常会遇到各种验证码,大多数验证码是图形验证码,先前的文章中有介绍到破解图形验证码的原理。最简单的破击验证码的方式是使用OCR。
1 min read

Leave a Reply

Your email address will not be published. Required fields are marked *