sparkpython书籍
Ⅰ 给师弟师妹们学习数据挖掘的一些建议
给师弟师妹们学习数据挖掘的一些建议
看着刚进实验室的师弟师妹们的迷茫,虽然也与他们进行过一些零散的交谈,但是都不够系统。因此,根据自己的经历给出学习数据挖掘的一些建议,大家可以根据自身的情况,具体问题具体分析,作为参考。希望在上一届的基础上,走的更深,走的更远。
一. 读研与数据挖掘基础
首先介绍一下大家都比较关心的几个问题,包括我们组的研究方向是什么,论文相关问题,大数据与工作相关问题,上海户口问题几个方面。
1. 我们组的研究方向是什么
我们组大的研究方向是数据挖掘,论文的研究方向是推荐算法。要注意大的研究方向,论文的研究方向与工作方向的区别和联系。
2. 论文相关问题
读研究生免不了会思考一个问题,读研的意义是什么?我自己认为读研的最大意义是训练自己系统化的严谨的分析思维能力。在导师给定论文研究方向后,如何确立更细的研究方向,如何检索资料,如何阅读英文论文,如何提出自己的创新点,如何做实验,如何写论文,如何修改论文,如何投稿,如何退修,如果是国际会议,还要去做英文口头报告,与同行交流等,这些问题都是需要自己去思考的。
3. 大数据与工作相关问题
数据挖掘属于大数据专业吗?当然属于。现在大数据找工作相对还是比较理想的。关键是要学习哪些课程呢?以前给大家推荐了很多的书籍,但是效果却恰恰相反,因为实在太多了根本看不完,更不知阅读书籍的顺序,浅尝辄止,最后一本书也没有看完,研究生就结束了。
(1)最低保障书籍
无论将来做什么,熟练掌握一门编程语言,一个数据库,数据结构,算法都是必备的。
《高性能Mysql》
《数据结构与算法分析:java语言描述》
《算法》:http://book.douban.com/subject/19952400/
(2)python与机器学习
《集体智慧编程》
《社交网站的数据挖掘与分析》
《数据挖掘:概念与技术》
Python官方文档:https://www.python.org/
Scikit-Learn官方文档:http://scikit-learn.org/stable/
(3)Java相关书籍
《Java开发实战经典》
《Java Web开发实战经典》
《Java虚拟机规范》
Java SE:http://docs.oracle.com/javase/8/docs/api/
Java EE:http://docs.oracle.com/javaee/6/api/
(4)Hadoop与Spark书籍
《大数据日知录:架构与算法》
《Hadoop权威指南》
《大数据Spark企业级实战》
《Scala编程》
Hadoop官方网站:http://spark.apache.org/
Spark官方网站:http://spark.apache.org/
Scala官方网站:http://www.scala-lang.org/
说明:认准目标,耐住性子,一步一步往前走。要把上面推荐的书籍硬着头皮读完,数据挖掘基本也就算是入门了。
4. 上海户口问题
上海户口属于积分制,如果想要在校期间就拿到,那么唯一的方式就是参数每年的研究生数据建模比赛,并且获奖。获奖比例还是很高的。其实,好好学习Python,买本数学建模的书籍看完,看几篇近些年来的获奖论文,比赛时硬着头皮钻研一道题目并且写好论文,基本上都可以获奖。
二. 数据挖掘进阶
数据挖掘涉及多个方向,但是通常从数学统计,数据库和数据仓库,机器学习三个方向来进行研究。当我想学习一个方向的时候,最希望做的事情就是让别人给我列出一个书单。因为我也会给你们列出一个书单,让你们慢慢研究吧。
1. 数学统计
(1)理论数学:复变函数,实变函数,泛函分析,拓扑学,积分变换,微分流形,常微分方程,偏微分方程等。
(2)应用数学:离散数学(集合,逻辑,组合,代数,图论,数论),具体数学,张量分析,数值计算,矩阵论,逼近论,运筹学,凸优化,小波变换,时间序列分析等。
(3)概率:概率论,测度论,随机过程等。
(4)统计:统计学,多元统计,贝叶斯统计,统计模拟,非参数统计,参数统计等。
2. 数据库和数据仓库
《数据库系统概念》
《数据库系统实现》
《数据仓库》
《分布式系统:概念与设计》
3. 机器学习
通信原理;数据挖掘;机器学习;统计学习;自然语言处理;信息检索;模式识别;人工智能;图形图像;机器视觉;语音识别;机器人学等。(这方面的经典书籍都可以看看,后面慢慢补充)
4. 其它书籍
(1)Linux
(2)网络原理,编译原理,组成原理,
(3)JVM
(4)UML
(5)软件工程
(6)设计模式
(7)云计算与Docker
(8)并行计算
(9)需求分析
三. 学习与方法
作为一名软件工程师,需要熟练掌握的工具,如下所示:
(1)博客
除了学习之外,更要思考和总结,把还没有忘却的记忆缓存序列化成为文字,记录在博客中。
(2)语言
大数据常用的语言包括Java,Scala,Python。如果一定要选择精通一门语言,自己选择Scala,同时深度学习JVM。(3)开发工具
自己选择IntelliJ IDEA用于Java和Scala的开发,Eclipse用于Python的开发。
(4)GitHub
每天都要坚持编程,主动参与开源项目。
(5)Linux
工作常用的是Ubuntu 12.04 LTS。
由于时间原因,上面总结的还比较粗糙,算是第一个版本吧,后面还会继续深度总结和完善。
Ⅱ 数据挖掘方向,Python中还需要学习哪些内容
就题论题,还包括:
1. Python 数据库连接库,例如MySQL 连接库的应用,这决定你的数据从哪里来。这里面涉及到sql语法和数据库基本知识,是你在学习的时候必须一起学会的。
2. Python 做基本数据计算和预处理的库,包括numpy ,scipy,pandas 这三个用得最多。
3. 数据分析和挖掘库,主要是sklearn,Statsmodels。前者是最广泛的机器学习库,后者是侧重于统计分析的库。(要知道统计分析大多时候和数据挖掘都错不能分开使用)
4. 图形展示库。matpotlib,这是用的最多的了。
说完题主本身 要求,楼上几位说的对,你还需要一些关于数据挖掘算法的基本知识和认知,否则即使你调用相关库得到结果,很可能你都不知道怎么解读,如何优化,甚至在什么场景下还如何选择算法等。因此基本知识你得了解。主要包括:
1.统计学相关,看看深入浅出数据分析和漫画统计学吧,虽然是入门的书籍,但很容易懂。
2.数据挖掘相关,看看数据挖掘导论吧,这是讲算法本身得书。
剩下的就是去实践了。有项目就多参与下项目,看看真正的数据挖掘项目是怎么开展的,流程怎样等。没有项目可以去参加一些数据挖掘或机器学习方面的大赛,也是增加经验得好方法。
Ⅲ 有什么关于 Spark 的书推荐
《大数据Spark企业级实战》本书共包括14章,每章的主要内容如下。
第一章回答了为什么大型数据处理平台都要选择SPARK
。为什么spark如此之快?星火的理论基础是什么?spark如何使用专门的技术堆栈来解决大规模数据处理的需要?第二章回答了如何从头构建Hadoop集群的问题。
如何构建基于Hadoop集群的星火集群?如何测试火星的质量?附录从spark的角度解释了Scala,并详细解释了Scala函数编程和面向对象编程。
Ⅳ 最新的spark支持python的什么版本
两种方法:
使用 spark-submit 解释执行python脚本
使用 python 解释执行python脚本
1. 使用Spark-submit解释执行python脚本
python脚本中需要在开头导入spark相关模块,调用时使用spark-submit提交,示例代码如下:
===========================================================
"""odflow.py"""
from pyspark import SparkContext
fileDir = "/TripChain3_Demo.txt"
# sc = SparkContext("local", "ODFlow")
sc = SparkContext("spark://ITS-Hadoop10:7077", "ODFlow")
lines = sc.textFile(fileDir)
# python不能直接写多行的lambda表达式,所以要封装在函数中
def toKV(line):
arr = line.split(",")
t = arr[5].split(" ")[1].split(":")
return (t[0]+t[1]+","+arr[11]+","+arr[18],1)
r1 = lines.map( lambda line : toKV(line) ).receByKey(lambda a,b: a+b)
# 排序并且存入一个(repartition)文件中
r1.sortByKey(False).saveAsTextFile("/pythontest/output")
===========================================================
发布命令为:
spark-submit \
--master spark://ITS-Hadoop10:7077 \
odflow.py
2. 使用 python 解释执行python脚本
直接用python执行会出现错误:
ImportError: No mole named pyspark
ImportError: No mole named py4j.java_gateway
缺少pyspark和py4j这两个模块,这两个包在Spark的安装目录里,需要在环境变量里定义PYTHONPATH,编辑~/.bashrc或者/etc/profile文件均可
vi ~/.bashrc # 或者 sudo vi /etc/profile
# 添加下面这一行
export PYTHONPATH=$SPARK_HOME/python/:$SPARK_HOME/python/lib/py4j-0.8.2.1-src.zip:$PYTHONPATH
# 使其生效
source ~/.bashrc # 或者 sudo source /etc/profile
然后关闭终端,重新打开,用python执行即可
python odflow.py
Ⅳ 大数据入门书籍有哪些
1、《Hadoop权威指南》
现在3.1版本刚刚发布,但官方并不推荐在生产环境使用。作为hadoop的入门书籍,从2.x版本开始也不失为良策。
本书从Hadoop的缘起开始,由浅入深,结合理论和实践,全方位地介绍Hadoop这一高性能处理海量数据集的理想工具。刚刚更新的版本中,相比之前的版本增加了介绍YARN , Parquet , Flume, Crunch , Spark的章节,非常适合于Hadoop 初学者。
2、《Learning Spark》
《Spark 快速大数据分析》是一本为Spark 初学者准备的书,它没有过多深入实现细节,而是更多关注上层用户的具体用法。不过,本书绝不仅仅限于Spark 的用法,它对Spark 的核心概念和基本原理也有较为全面的介绍,让读者能够知其然且知其所以然。
3、《Spark机器学习:核心技术与实践》
以实践方式助你掌握Spark机器学习技术。本书采用理论与大量实例相结合的方式帮助开发人员掌握使用Spark进行分析和实现机器学习算法。通过这些示例和Spark在各种企业级系统中的应用,帮助读者解锁Spark机器学习算法的复杂性,通过数据分析产生有价值的数据洞察力。