spark note

数据清理与转换

  1. 类别数据的编码:有意义的数值
  2. 从文本数据,图像数据,音频数据中提取有用信息
  3. 数值数据转换为类别数据,例如将年龄分段:20-25,26-30
  4. 对数值特征进行转换,数值变量进行对数转换,处理值域比较大的变量
  5. 对特征正则化、标准化,保证同一模型的不同变量的值域相同
  6. 对现有变量进行组合或转换,生成新特征。例如从其他数据求平均数,求用户下单的平均价格。

mysql explain

type显示的是访问类型,是较为重要的一个指标,结果值从好到坏依次是:

system > const > eq_ref > ref > fulltext > ref_or_null > index_merge > unique_subquery > index_subquery > range > index > ALL

一般来说,得保证查询至少达到range级别,最好能达到ref。

possible_keys

指出MySQL能使用哪个索引在该表中找到行。如果是空的,没有相关的索引。这时要提高性能,可通过检验WHERE子句,看是否引用某些字段,或者检查字段不是适合索引。

key

显示MySQL实际决定使用的键。如果没有索引被选择,键是NULL。

索引的重要性:

https://dev.mysql.com/doc/refman/5.7/en/using-spatial-indexes.html

Screen Shot 2016-01-22 at 11.35.54

 

SELECT id, name FROM food_region where MBRContains(polygons, ST_GeomFromText(‘POINT(116.62437 40.985128)’));

SELECT id,name FROM food_region where MBRContains(polygons, ST_GeomFromText(‘POINT(116.62437 40.985128)’)) and st_contains(polygons, ST_GeomFromText(‘POINT(116.59437 40.985128)’)) = ‘1’;

MBRContains作为索引。

Mysql创建用户错误:ERROR 1364 : Field ‘sslcipher’ doesn’t have a default value解决方法

USE mysql;

INSERT INTO user

(host, user, password,

selectpriv, insertpriv, updatepriv)

VALUES (‘localhost’, ‘dora’,

PASSWORD(‘dora123’), ‘Y’, ‘Y’, ‘Y’);

报错:

Error Code: 1364. Field ‘sslcipher’ doesn’t have a default value

错误原因:

mysql用户表的中某些字段不能为空,没有默认值,其实是操作错误,mysql添加用户不能直接insert。

MySQL版本:5.6.25

正确添加用户方法:

GRANT USAGE ON . TO ‘user01’@’localhost’ IDENTIFIED BY ‘123456’ WITH GRANT OPTION;

GRANT ALL PRIVILEGES ON tb. TO dora@localhost IDENTIFIED BY ‘dora123’;