Spark实践笔记2:Hadoop安装
Hadoop下载:我选择了hadoop2.7.0
将hadoop-2.7.0.tar 上传到ubuntu1里去,并将hadoop解压到/usr/local/hadoop
mkdir /usr/local/hadooptar xvf hadoop-2.7.0.tar -C /usr/local/hadoop/
修改 ~/.bashrc 文件,增加环境变量:
export HADOOP_HOME=/usr/local/hadoop/hadoop-2.7.0export PATH=${JAVA_HOME}/bin:${HADOOP_HOME}/bin:$PATH
导入配置使其生效:source ~/.bashrc
创建必要的目录
mkdir ${HADOOP_HOME}/dfsmkdir ${HADOOP_HOME}/tmpmkdir ${HADOOP_HOME}/dfs/datamkdir ${HADOOP_HOME& ...
Spark实践笔记3:Spark集群搭建
scala的安装
下载安装包:我选择2.11.6版本
上传到ubuntu1中并解压,配置环境变量,增加SCALA_HOME,并在PATH里增加对应BIN
tar xvf scala-2.11.6.tar -C /usr/localcd /usr/localmv scala-2.11.6 scalavim ~/.bashrcexport SCALA_HOME=/usr/local/scalapath里增加 $ {SCALA_HOME} /binsource ~/.bashrc
把scala拷贝到其他两台机器,并配置环境变量
scp -r scala ubuntu2:/usr/localscp -r scala ubuntu3:/usr/local
验证scala安装成功
scala -version
spark安装
下载安装包:我选择1.3.1版本
上传到ubuntu1中并解压,配置环境变量,增加SPARK_HOME,并在PATH里增加对应BIN。使用source命令使配置生效
tar xzvf spark-1.3.1-bin-hadoo ...
Spark实践笔记4:用Spark-shell做交互式分析
首先在MASTER机器上启动hadoop及spark;把位于${SPARK_HOME}下的README.md文件put到HDFS/data目录下;启动spark-shell,启动spark-shell时需要指定MASTER机器,否则执行后续命令会报错:${SPARK_HOME}/bin/spark-shell –master spark://ubuntu1:7077scala> val textFile = sc.textFile(“/data/README.md”)textFile.count()textFile.first()能看到,程序正常执行,而且执行第二个命令first的速度比第一个命令count要快很多。通过Spark-shell的web能看到任务信息。
个人理解:val定义了一个RDD(弹性分布式数据集)textFile。RDD拥有自己的一些actions,如count、first、take、countByKey、reduce等,可以直接调用。RDD还有一种操作类型叫 transfo ...
Spring Boot过滤返回的数据
考虑这样的场景:对于同一个Model类,在不同的api中需要返回不同的字段。该如何优雅的实现呢?
解决方案采用JsonView,根据定义自动实现字段的过滤。
具体方法
创建一个view类,声明一个summary接口,summary接口继承summary用来演示扩展
public class View { public interface Summary {} public interface Summary2 extends Summary{}}
在model上使用注解,定义view中需要呈现的列
public class Article { @JsonView(View.Summary.class) private String id; @JsonView(View.Summary2.class) private String title; private String content; // 省略getter setter}
通常在RESTfu ...
keras神经网络算法预测销量高低实践
基于样本数据周末,促销,天气,销量,进行深度学习。最终得出销量与周末、促销、天气的关系模型。并展示了神经网络算法对分类的预测。
以下为代码:
import pandas as pd
In [2]:
filename = ‘/Users/frontc/book/ppdam/sales_data.xls’
In [3]:
data = pd.read_excel(filename,index_col=u’序号’)
In [4]:
# 数据规整
data[data == u’好’] = 1
data[data == u’是’] = 1
data[data == u’高’] = 1
data[data !=1 ] = 0
In [5]:
x = data.iloc[:,:3].as_matrix().astype(int) # 自变量
y = data.iloc[:,3].as_m ...
ngnix+uwsgi+flask
Flask开发应用不难,部署不容易。网上的资料很多,但坑也很多。我纪录一下要点,以及那些坑。
安装uwsgi,最好采用 pip install flask-uwsgi,在对应的虚拟环境里安装
nginx新版本,我用的是nginx/1.0.15中,配置文件是在/etc/nginx/conf.d中
一个典型的run.py如下:
应用的名字要as成application。否则uwsgi出现找不到app的异常,即使你在uwsgi的配置文件里指定了callable=xxx。
run里不要带任何参数
from pm import app as application
if __name__ == '__main__':
application.run()
下面是一个典型的uwsgi.ini配置:
[uwsgi]
module = wsgi --这是run.py的名字,去掉后缀名
master = true
processes = 4
socket = /web/pm/pm.sock --这里指定了一个so ...
pandas逻辑回归建模
基于样本数据(年龄、教育、工龄、地址、收入、负债率、信用卡负债、其他负债、违约),挖掘显著影响违约的因子。步骤如下:
import pandas as pd
In [2]:
filename = ‘/Users/frontc/book/ppdam/bankloan.xls’
In [3]:
data = pd.read_excel(filename)
In [29]:
data
Out[29]:
年龄
教育
工龄
地址
收入
负债率
信用卡负债
其他负债
违约
0
41
3
17
12
176
9.3
11.359392
5.008608
1
1
27
1
10
6
31
17.3
1.362202
4.000798
0
2
40
1
15
14
55
5.5
0.856075
2.168925
0
3
41
1
15
14
120
2.9
2.658720
0.821280
0
4
24
2
2
0
28
17.3
1.787436
3.056564
1
5
41
2
5
5
...
sklearn使用KMeans聚类算法对消费行为特征数据进行分类
样本数据选取的是消费行为数据,包括4列:主键,最近一次消费间隔,消费频率,消费总金额。k-means算法在收敛时采用的是欧式距离算法。
代码如下:
import pandas as pd
In [2]:
inputfile = '/Users/frontc/book/ppdam/consumption_data.xls'
In [3]:
outputfile = '/Users/frontc/book/ppdam/data_type.xls'
In [4]:
k = 3 # 分成3类
In [5]:
iteration = 500 # 聚类最大循环次数
In [6]:
data = pd.read_excel(inputfile,index_col='Id') # 读取样本数据
In [8]:
data[:3] # 样本示例,r为最近一次消费时间间隔,f为消费频率,m为消费的总金额
Out[8]:
R
F
M
Id
1
27
6
232.61
2
3
5
1507.11
3 ...
sklearn基于信息熵的决策树算法实践
以餐馆的经营数据为样本,天气,周末,促销,销量。首先将天气分类为好和坏(经验),销量分类为高和低(均值)。然后将因子规整。采用信息熵的决策树模型进行训练。结果导出为dot文件。
采用graphviz,可以查看结果
另:graphviz的dot在mac os 10.11.6下有bug,会提示一个lib未能加载。
以下为代码:#-- coding:utf-8 --
In [2]:
import pandas as pd
In [3]:
filename = '/Users/frontc/book/ppdam/sales_data.xls' # 样本数据文件路径
In [4]:
data = pd.read_excel(filename,index_col=u'序号') # 读取数据到dataframe中
In [5]:
data[:4] # 查看一下样本数据
Out[5]:
天气
是否周末
是否有促销
销量
序号
1
坏
是
是
高
2
坏
是
是
高
3
坏
是
是
高
4
坏
否
是
高
I ...
一切皆可复用
转载
你有复用习惯吗?
你是程序员吗?我们经常要写数据库连接的代码,这些代码都类似,无非是new一个connection,然后配置connection的参数,然后open。很多编码新手,常常会在不同的地方编写这段类似的代码。其实很简单,这段代码应该抽取出来供每个地方调用。如果你编写的代码中发现很多类似的甚至相同的代码到处都是,应该好好考虑重构一下了。
读小学的时候,老师要求我们写日记,当时觉得很难写,也不想写。后来读高中的时候,我的思想来了个大转变,突然写起日记来,一写就是几年。写日记并不是记下每天干了啥,而是每天都总结一下当天的得失,看看有什么东西是可以“复用”的。现在写文章对我来说并不是什么很难的事情,我也比较容易观察出周围一些事物的闪光点,并学习它,供自己“复用”。
复用其实不复杂,从小处做起,养成一种习惯,这种好的习惯会让你的成功速度加倍!
你的企业有复用习惯吗?
你们公司有组件库、类库或者是共享代码库吗?每次你们做项目,有没有之前的一些东西可直接供本项目使用的,还是需要全部重新开发的?
A项目遇到一个问题,而这个问题B项目已经解决了,但A项目的人还不知道,这种情况多见吗?
你 ...