小编use*_*760的帖子

Redshift UPDATE令人望而却步

我在Redshift集群中有一个表,行数约为10亿.我有一个作业试图根据一些过滤器更新一些列值.在此表中更新任何内容都非常慢.这是一个例子:

SELECT col1, col2, col3
FROM SOMETABLE
WHERE col1 = 'a value of col1'
  AND col2 = 12;
Run Code Online (Sandbox Code Playgroud)

上面的查询在不到一秒的时间内返回,因为我有sortkeys col1col2.只有一行符合此条件,因此结果集只有一行.但是,如果我跑:

UPDATE SOMETABLE
SET col3 = 20
WHERE col1 = 'a value of col1'
  AND col2 = 12;
Run Code Online (Sandbox Code Playgroud)

此查询需要一段未知的时间(我在20分钟后停止了).同样,它应该更新一行的一个列值.

我还尝试按照此处的文档:http://docs.aws.amazon.com/redshift/latest/dg/merge-specify-a-column-list.html,其中讨论了如何创建临时临时表以进行更新主表,但得到了相同的结果.

知道这里发生了什么吗?

sql-update amazon-redshift

6
推荐指数
1
解决办法
6686
查看次数

避免在sci-kit中学习StandsardScaler中的二进制列

我正在sci-kit学习中构建线性回归模型,并将输入扩展为sci-kit学习管道中的预处理步骤.有什么办法可以避免缩放二进制列吗?发生的事情是这些列与其他列一起缩放,导致值以0为中心,而不是0或1,所以我得到的值如[-0.6,0.3],这会导致输入值为0影响我的线性模型中的预测.

基本代码说明:

>>> import numpy as np
>>> from sklearn.pipeline import Pipeline
>>> from sklearn.preprocessing import StandardScaler
>>> from sklearn.linear_model import Ridge
>>> X = np.hstack( (np.random.random((1000, 2)),
                np.random.randint(2, size=(1000, 2))) )
>>> X
array([[ 0.30314072,  0.22981496,  1.        ,  1.        ],
       [ 0.08373292,  0.66170678,  1.        ,  0.        ],
       [ 0.76279599,  0.36658793,  1.        ,  0.        ],
       ...,
       [ 0.81517519,  0.40227095,  0.        ,  0.        ],
       [ 0.21244587,  0.34141014,  0.        ,  0.        ],
       [ 0.2328417 ,  0.14119217,  0.        ,  0.        ]])
>>> scaler …
Run Code Online (Sandbox Code Playgroud)

python multi-dimensional-scaling scikit-learn

5
推荐指数
4
解决办法
4324
查看次数