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_HO...
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-ha...
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还有一种操作类型叫 tran...
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} 通常在RES...
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].a...
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 --这里指定了一...
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...
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 ...
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 坏 否 是 高 ...
一切皆可复用
转载 你有复用习惯吗? 你是程序员吗?我们经常要写数据库连接的代码,这些代码都类似,无非是new一个connection,然后配置connection的参数,然后open。很多编码新手,常常会在不同的地方编写这段类似的代码。其实很简单,这段代码应该抽取出来供每个地方调用。如果你编写的代码中发现很多类似的甚至相同的代码到处都是,应该好好考虑重构一下了。 读小学的时候,老师要求我们写日记,当时觉得很难写,也不想写。后来读高中的时候,我的思想来了个大转变,突然写起日记来,一写就是几年。写日记并不是记下每天干了啥,而是每天都总结一下当天的得失,看看有什么东西是可以“复用”的。现在写文章对我来说并不是什么很难的事情,我也比较容易观察出周围一些事物的闪光点,并学习它,供自己“复用”。 复用其实不复杂,从小处做起,养成一种习惯,这种好的习惯会让你的成功速度加倍! 你的企业有复用习惯吗? 你们公司有组件库、类库或者是共享代码库吗?每次你们做项目,有没有之前的一些东西可直接供本项目使用的,还是需要全部重新开发的? A项目遇到一个问题,而这个问题B项目已经解决了,但A项目的人还不知道,这种情况多见吗...
