- 博客(18)
- 收藏
- 关注
原创 【hive/impala】求整体和局部的比例时, join 应在group by之后进行
场景:同一张表中,需要找到表中某些特定商品在品类中sku数量和销售额所占的比例。由于Hive 中不支持 in 用法 ( select xxx from table_namewhere product_id in (select xxx from table)这种写法不可)子查询必须用 impala 的semi left join 写法就是说把联表条件写成semi join,但是这样有个问题,没办法取到b的值比如以下语句,要用b.product_id 做计算,就不能用LEFT...
2020-07-16 11:01:35
878
原创 clickhouse sql优化,减少查询次数提升效率
业务场景:计算sales/count/sku的值、同比、环比用开窗函数neighbor计算yoy同比和chain环比//原本计算同比和环比需要使用三条sql聚合后相除SELECT toStartOfYear(toDate('2020-05-01')) AS date, ROUND(SUM(sales), 2) AS sales, SUM(count) AS count, COUNT(DISTINCT product_id) AS skuFROM mars_rc_roma_wide.
2020-07-02 11:27:16
2637
原创 Python多线程(MultiProcess)中sql查询返回结果缺失
场景:python 多线程中,传入多个sql进行查询,返回的结果和传入的sql数量不一致。原因:单个 SQL 查询比较耗时,导致 SQLAlchemy 的连接池被占满,后续连接等待时间过长超过了默认的 pool_timeout 值而被丢弃所以每次获取到的数据结果返回和传入的sql结果不一致。处理办法:把 pool_size 和 max_overflow 的值调大(pool_size = 20, max_overflow = 30)engines['config']..
2020-05-22 11:52:27
634
原创 MySQL中的 double/float/numeric/decimal 的区别
MySQL中所有数值型数据,统称为Numeric Type各字段类型中:DECIMAL和NUMERIC意义相等,用法相同,都是是fixed-point type(exact value)FLOAT/DOUBLE 类型,分别代表单精度浮点/双精度浮点类型。不管如何提高精度,也是floating-point type(approximate value),用来进行高精度计算会出问题;...
2019-12-12 11:56:18
1472
原创 Celery-redbeat中文介绍(一款基于Redis的改良scheduler)
本文分两部分,第一部分是对Celery的简单介绍(摘自https://foofish.net/celery-toturial1.html),第二部分介绍Celery-redbeat的原理、场景及用法(渣翻译)。一、Celery介绍在一个应用服务中,对于时效性要求没那么高的业务场景,我们没必要等到所有任务执行完才返回结果,例如用户注册场景中,保存了用户账号密码之后,就可以立即返回,后续...
2019-04-02 19:45:49
2749
1
翻译 什么是自动机器学习(AutoML)?(译)
本文选自《Hands-On Automated Machine Learning》 自动机器学习(AutoML) 旨在通过让一些通用步骤 (如数据预处理、模型选择和调整超参数) 自动化,来简化机器学习中生成模型的过程。您将在接下来的章节中详细了解到这一过程中的细节,并手把手构建一个自动机器学习( AutoML) 系统,以便深入了解自动机器学习( AutoML)的可用工具和库。在了解更多...
2019-02-21 15:24:15
3279
原创 MySQL、Mongo DB、Redis数据库对比
MySQL/MongoDB/Redis对比 指标 MySQL Redis MongoDB 类型 RDBMS(Relational Database Management Systems) NoSQL:键值型(Key-Value) Key Value Store...
2019-01-23 11:44:09
383
原创 python中进程、线程、协程比较(多角度对比)
搜集网上资料,自己对进程、线程、协程进行的整理和总结。 进程、线程、协程比较 进程 线程 协程 关系 一个进程至少有一个线程,进程里面可以有多个线程 一个线程里面可以有多个协程 线程和进程的操作是由程序触发系统接口,最后的执行者是系统;...
2019-01-07 21:59:00
613
原创 unittest.TestCase类中的app.client()对象是什么,为什么其看似可以调用POST方法
class LoginTest(unittest.TestCase): def setUp(self): app.testing = True self.client = app.test_client() def tearDown(self): pass def test_empty_usernam...
2018-11-24 19:30:15
1074
原创 SQLAlchemy中如何理解‘自关联多对多’模型
from flask_sqlalchemy import SQLAlchemyfrom flask import Flaskapp = Flask(__name__)app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:ccc@127.0.0.1:3306/many2many'app.config['SQLALCHEMY_...
2018-11-24 19:28:32
957
原创 Python中没有完全的私有属性吗?
一个很有意思的问题,关于Python内有没有真正的私有属性。我觉得可以说有,也可以说没有,具体看对比的语言。有时候,python看似可以设置私有属性,用代码表示class BB(): def __init__(self, name): self.__name = name def get_name(self): return...
2018-10-21 09:14:18
1178
原创 gevent 实现网易云音乐歌曲下载
下载是半手动的(需要自己输音乐的ID并且提供命名),因为办了QQ绿钻会员,不想再办网易的,纯粹自己用着方便比较局限的是只能下载本身可以听的歌,会员才能听的文件下载不了。(网易现在歌曲即使可以听,下载也是需要会员的,这个方法可以避开因此而充值会员) 音乐ID,复制右键歌曲,复制网页链接即可获得:)比如这个:http://music.163.com/#/m/song?id=2943...
2018-10-14 20:17:22
368
原创 理解javascript脚本语言中运算符(operator)的类型转换(译)
var x = 99; = 是赋值运算符,用于对变量进行赋值。x == 99; == 是比较运算符,用于比较两个变量是否相等 相等运算符(equality operator)==和严格相等运算符(strict equality/identity operator)使用严格相等运算符,要保证变量是同一个数据类型。If the two values have the sa...
2018-10-14 20:16:11
392
原创 地理定位方式:Google map的API调用(headfirst HTML5第5章)
地理定位API的位置获取方式 GPS全球定位系统 基于IP地址的位置信息所映射到的物理位置 蜂窝电话三角定位,根据到不同蜂窝基站之间的距离来确定位置。 Wi-Fi接入点完成三角定位。 这些方法彼此之间复用,不断提高位置信息精度。 球面两个坐标之间的距离,用半正矢(haversine)公式。 对象 navigator posi...
2018-10-14 20:15:25
364
原创 html&css布局与定位小结(headfirst html&css第11章)
流(flow):浏览器在页面上摆放HTML元素所用的方法。浏览器从HTML文件最上面开始,从上到下沿着元素流逐个显示所遇到的各个元素。块元素:自动换行,从上到下流内联元素:水平方向上相互挨着,从左向右流直到没空间就换到下一行,总体上会从左上方流向右下方注意:块元素的外边距在排列的时候会折叠,margin只保留有较大margin的那个块元素的值 浮动元素:浏览器会尽可能将其放在我...
2018-10-14 20:09:34
148
原创 如何用面向对象的方法理解JavaScript函数和对象
形参(parameter):就是函数定义时的属性名称实参(argument):实际调用函数时传的值如function bark(dogName, dogWeight){}这是形参bark("Fido",50);这是实参 局部变量(local):全局变量(global):1 作用域不同,2 局部变量可以遮蔽全局变量3 假如函数内不用var就对一个未声明过的变量...
2018-10-14 20:08:30
205
原创 为什么空数组判断中要用dataArray==null||dataArray==""进行或判断
虽然看起来一样,但其实代码中需要做双重的判断,原因如下:Array == null,值为null,含null的变量是一个对象(object)Array == “”,空数组的数据类型是一个特定对象,及string(通过Array == false也可数组为空)但是这两种数据类型对于数组的表现出来是一样的,都是数组里面没有结果不过后台返回的json数据,字段值可能是null也可能是“”...
2018-08-08 22:10:55
1059
原创 关于遍历并全部删除节点removeChild()循环方法
Mooc JS进阶9-14课程任务(http://www.imooc.com/code/1700)试一试,定义clearText()函数,完成节点内容的删除。1. 删除该节点的内容,先要获取子节点。2. 然后使用循环遍历每个子节点。3. 使用removeChild()删除节点。 代码三种方法如下:<!DOCTYPE HTML><html>...
2018-08-07 23:27:50
2995
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人