Spark学习笔记——Spark上数据的获取、处理和准备
2017-04-29 11:38
459 查看
数据获得的方式多种多样,常用的公开数据集包括:
1.UCL机器学习知识库:包括近300个不同大小和类型的数据集,可用于分类、回归、聚类和推荐系统任务。数据集列表位于:http://archive.ics.uci.edu/ml/
2.Amazon AWS公开数据集:包含的通常是大型数据集,可通过Amazon S3访问。这些数据集包括人类基因组项目、Common Crawl网页语料库、维基百科数据和Google Books Ngrams。相关信息可参见:http://aws.amazon.com/publicdatasets/
3.Kaggle:这里集合了Kaggle举行的各种机器学习竞赛所用的数据集。它们覆盖分类、回归、排名、推荐系统以及图像分析领域,可从Competitions区域下载: http://www.kaggle.com/competitions
4.KDnuggets:这里包含一个详细的公开数据集列表,其中一些上面提到过的。该列表位于:http://www.kdnuggets.com/datasets/index.html
下面采用的数据集是MovieLens 100k数据集,MovieLens 100k数据集包含表示多个用户对多部电影的10万次评级数据,也包含电影元数据和用户属性信息。
在目录下,可以查看文件中的前5行的数据
现在使用Spark交互式终端来对数据进行可视化的操作,以直观的了解数据的情况
1.安装ipython
IPython是针对Python的一个高级交互式壳程序,包含内置一系列实用功能的pylab,其中有NumPy和SciPy用于数值计算,以及matplotlib用于交互式绘图和可视化
2.安装anaconda,安装的文件是Anaconda2-4.3.1-Linux-x86_64.sh,可以在清华的开源软件镜像站下载
一个预编译的科学Python套件
3.启动Hadoop,在Hadoop的安装目录的sbin目录下启动start-all.sh
4.启动pyspark,注意使用的spark的版本是2.1.0,所以参数和低版本的会有不同,下图是启动后的界面
5.把训练数据集文件放在Hadoop文件系统中
6.代码
1.UCL机器学习知识库:包括近300个不同大小和类型的数据集,可用于分类、回归、聚类和推荐系统任务。数据集列表位于:http://archive.ics.uci.edu/ml/
2.Amazon AWS公开数据集:包含的通常是大型数据集,可通过Amazon S3访问。这些数据集包括人类基因组项目、Common Crawl网页语料库、维基百科数据和Google Books Ngrams。相关信息可参见:http://aws.amazon.com/publicdatasets/
3.Kaggle:这里集合了Kaggle举行的各种机器学习竞赛所用的数据集。它们覆盖分类、回归、排名、推荐系统以及图像分析领域,可从Competitions区域下载: http://www.kaggle.com/competitions
4.KDnuggets:这里包含一个详细的公开数据集列表,其中一些上面提到过的。该列表位于:http://www.kdnuggets.com/datasets/index.html
下面采用的数据集是MovieLens 100k数据集,MovieLens 100k数据集包含表示多个用户对多部电影的10万次评级数据,也包含电影元数据和用户属性信息。
在目录下,可以查看文件中的前5行的数据
head -5 u.user 1|24|M|technician|85711 2|53|F|other|94043 3|23|M|writer|32067 4|24|M|technician|43537 5|33|F|other|15213
现在使用Spark交互式终端来对数据进行可视化的操作,以直观的了解数据的情况
1.安装ipython
IPython是针对Python的一个高级交互式壳程序,包含内置一系列实用功能的pylab,其中有NumPy和SciPy用于数值计算,以及matplotlib用于交互式绘图和可视化
sudo apt-get install ipython
2.安装anaconda,安装的文件是Anaconda2-4.3.1-Linux-x86_64.sh,可以在清华的开源软件镜像站下载
一个预编译的科学Python套件
bash Anaconda2-4.3.1-Linux-x86_64.sh #一路回车 #文件讲会安装在~目录下 #在询问是否把anaconda的bin添加到用户的环境变量中,选择yes source ~/.bashrc
3.启动Hadoop,在Hadoop的安装目录的sbin目录下启动start-all.sh
4.启动pyspark,注意使用的spark的版本是2.1.0,所以参数和低版本的会有不同,下图是启动后的界面
PYSPARK_DRIVER_PYTHON=/usr/bin/ipython PYSPARK_DRIVER_PYTHON_OPTS="--pylab" pyspark
5.把训练数据集文件放在Hadoop文件系统中
hadoop fs -put /XXXtinput/ml-100k /user/XXX
6.代码
user_data = sc.textFile("/user/common/ml-100k/u.user") user_data.first()
user_fields = user_data.map(lambda line: line.split("|"));\ ages = user_fields.map(lambda x: int(x[1])).collect();\ hist(ages, bins=20, color='lightblue', normed=True);\ fig = matplotlib.pyplot.gcf();\ fig.set_size_inches(16, 10)
count_by_occupation = user_fields.map(lambda fields: (fields[3], 1)).reduceByKey(lambda x, y: x + y).collect() #或者 count_by_occupation = user_fields.map(lambda fields: fields[3]).countByValue() x_axis1 = np.array([c[0] for c in count_by_occupation]) y_axis1 = np.array([c[1] for c in count_by_occupation]) #升序排序 x_axis = x_axis1[np.argsort(y_axis1)] y_axis = y_axis1[np.argsort(y_axis1)] pos = np.arange(len(x_axis)) width = 1.0 ax = plt.axes() ax.set_xticks(pos + (width / 2)) ax.set_xticklabels(x_axis) plt.bar(pos, y_axis, width, color='lightblue') plt.xticks(rotation=30) fig = matplotlib.pyplot.gcf() fig.set_size_inches(16, 10)
相关文章推荐
- spark大数据处理技术读书笔记:spark streaming学习笔记
- 读书笔记:Spark上数据的获取,处理与准备 下
- 读书笔记:Spark上数据的获取,处理与准备 上
- spark | spark 机器学习chapter3 数据的获取、处理与准备
- MyGeneration学习笔记(8) :dOOdad提供的数据绑定、特殊函数和事务处理
- [学习笔记]二进制数据的处理(1) 普通二进制数据处理 A -------保存到数据库
- Windows Phone 7 学习笔记:数据存储与获取的方式介绍
- Windows Phone 开发学习笔记(九) RSS阅读器之获取数据
- 微软企业库5.0学习笔记(三十四)数据访问模块 各种获取数据的方式
- MyGeneration学习笔记(8) :dOOdad提供的数据绑定、特殊函数和事务处理
- 2012/1/9 《C++ Primer Plus》第三章:处理数据 学习笔记
- 【C++ Primer】三章学习笔记 (处理数据)
- Ajax处理JSON数据参考【学习笔记】
- 微软企业库5.0学习笔记(三十四)数据访问模块 各种获取数据的方式
- 2012/1/9 《C++ Primer Plus》第三章:处理数据 学习笔记
- 学习altas笔记[客户端JS和Altas环境初始化关系和DataTable返回数据的客户端处理]
- MyGeneration学习笔记(8) :dOOdad提供的数据绑定、特殊函数和事务处理
- [Silverlight学习笔记]关于利用WCF RIA Service进行通信并在客户端获取数据
- C++学习序列笔记之数据处理(复合类型)
- ASP.NET 3.5核心编程学习笔记(42):HTTP处理程序的编写之建立数据报表