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

使用implicit搭建实时推荐系统

Implicit简介 Implicit是一个开源的系统过滤项目,其包含多种流行的推荐算法,主要应用场景是针对隐
1 min read

使用Python下载文件的几种方法

在使用Python进行数据抓取的时候,有时候需要保持文件或图片等,在Python中可以有多种方式实现。今天就一
22 sec read

含C/C++代码包Anaconda安装问题

上篇文章主要讲了libffm在Windows系统下安装遇到的问题,今天在Linux环境下的Anaconda中安
1 min read

发表评论

电子邮件地址不会被公开。 必填项已用*标注