整理系列-20161111-Spark学习周记_5

25 篇文章 0 订阅
8 篇文章 0 订阅

2016.04.08

Note_11

引入了高大上的matplotlib,但是一直报错,难过!

45.png

Export了一下DISPLAY,结果果然是因为ssh!!!

46.png

决定规避显示的环节!!

47.png

可视化!!!!初步搞定!!!!!感激涕零!!!!

Bug解决了以后,冷静下来发现,其实刚开始解决这个问题的时候,就想过这个规避的方法,也找到了下面第二个参考,但是没有很好的认识,太天真。

  1. TclError Couldn’t Connect to display “:0.0”.2016.04.08
  2. 演示如何实现Matplotlib绘图并保存图像但不显示图形的方法.2016.04.08

48.png

49.png

想要可视化决策树,但是好像太麻烦了,决定换一个思路,直接出拟合结果的效果图!

顺便整理一下Matplotlib常见图类型

  • 折线图&散点图 Line and scatter plots

    • 折线图 Line plots(关联一组x和y值的直线)
    import numpy as np
    import pylab as pl
    x = [1, 2, 3, 4, 5] # Make an array of x values
    y = [1, 4, 9, 16, 25] # Make an array of y values for each x value
    pl.plot(x, y) # use pylab to plot x and y
    pl.show() # show the plot on the screen
    • 散点图 Scatter plots
      把pl.plot(x, y)改成pl.plot(x, y, ‘o’)即可。
  • 美化 Making things look pretty

    • 线条颜色 Changing the line color
      红色:把pl.plot(x, y, ‘o’)改成pl.plot(x, y, ’or’)
    • 线条样式 Changing the line style
      虚线:plot(x,y, ‘–’)
    • marker样式 Changing the marker style
      蓝色星型markers:plot(x,y, ‘b*’)
    • 图和轴标题以及轴坐标限度 Plot and axis titles and limits
    import numpy as np
    import pylab as pl
    x = [1, 2, 3, 4, 5]# Make an array of x values
    y = [1, 4, 9, 16, 25]# Make an array of y values for each x value
    pl.plot(x, y)# use pylab to plot x and y 
    pl.title(’Plot of y vs. x’)# give plot a title
    pl.xlabel(’x axis’)# make axis labels
    pl.ylabel(’y axis’)
    pl.xlim(0.0, 7.0)# set axis limits
    pl.ylim(0.0, 30.)

2016.04.09

LAMP环境

Ubuntu搭建LAMP全教程.2016.04.09

安全模式下手动修改mysql root账号的登录密码以后,一直报错-验证错误。

50.png

Password(‘xxxxxx’),坑死!这就是所谓的加密么。。

Python import mysqldb出错

sudo apt-get install python-mysqldb

51.png

python如何连接mysql数据库.2016.04.09

PHP执行Linux平台指令权限不够

PHP执行Linux指令可以直接使用exec(‘xxx’), system(‘xxx’), shell_exec(‘xxx’)

为了便于维护,使用Shell脚本直接执行所有需要在Linux上运行的指令。

  1. PHP执行Linux命令常用的6个函数.2016.04.11
  2. PHP在linux上执行外部命令(整理).2016.04.11

一切都准备就绪了,但是命令就是不执行?

参考一下,lsof指令执行方式:
lsof [options] filename

  1. Linux lsof命令详解.2016.04.11
  2. linux lsof详解.2016.04.11

lsof |more之后看到是因为权限问题,执行的账户为www-data。

52.png

www-data?请问这是啥?估计应该是apache的默认执行用户,知道问题之后,原来想把spark所在的位置里全部文件权限全部放开,777,结果777之后做所有操作都需要密码验证。

53.png

ssh 无密码验证 及 ssh localhost 仍然需要密码的解决方案.2016.04.11

还是改回去,这个思路看来走不通,那就把默认执行账户改成spark的owner就可以了。
php利用root权限执行shell脚本.2016.04.11

exec加载不到环境变量

然而转换执行者成功后,还是不行。为什么?!报的错是没有找到spark-submit?
这就有问题了。
难道是执行者还是不对?考虑再三决定把spark-submit的路径带上去,这次的报错不一样了!!没有找到JAVA_HOME!

What does it mean?
意思就是,的确就是路径的问题,php调用以后,没有加载环境配置?/etc/environment没有被执行。
没有关系,那就把需要的环境变量export一下就好了!

Python连接数据库,操作后无数据更新

重新查一遍之前的链接:
python如何连接mysql数据库.2016.04.09
conn.commit()很重要!
一切闲杂的前端全部搞定之后,来一张成功图!做个备份!

54.png

完美!

55.png

有一件很奇怪的事,每次的结果不一样?

想想也有道理,train训练集每次都是随机分的,尽管参数调优之后,树深度之类都是相同的,但是,由于训练集不同,且最后训练出来的model没有保存,每次都是重新训练,并得出测试集的结果,所以,结果可能就不尽相同。

2016.04.12

时间还算充裕,准备做一个聚类模型玩玩。

调用ALS前后出现function object找不到attribute和没有找到ALS的productFeatures的错误。

56.png

先给个ALS的调用API

ALS.train(ratings, rank, iterations=5, lambda_=0.01, blocks=-1,  nonnegative=False, seed=None)[source]

57.png

错误原因:包导入出错 / 函数的最后没有加 (),python和scala语言是不同的。

果然之前学了一点scala就把原来学过之后没有大量投入使用的python语法记混了。

这就方便解决了。微调,结束!

2016.04.12

58.png

59.png

结论,shell脚本只能在linux环境下创建?

「–我要报bug!!我的天!!csdn这能忍?算了,下次还是本地写完导入吧。。太麻烦了!」

「最后一点丢失了–,大概可能也许被我毁了。。不重要,Spark和Hadoop集群搭建,以及初步的内容都已经全都包含了~」

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值