机器学习三大阶段:
训练,测试、预测
spark基础知识
1、SPARK在进行计算的时候,会将中间产生的数据暂时存放在内存中,可以加快运行速度
2、在内存中,spark的命令运行速度,是Hadoop100倍,如果运行在硬盘spark快10倍
spark命令
开启pyspark
pyspark --master local[4]
[4]表示使用的cpu核数,表示在本地运行,使用N个进程,可以同时执行N个程序
查看当前的运行模式
sc.master
展示:
u'local[4]'
在本地运行,4核cpu
读取本地文件:
textfile = sc.textFile("file:/home/hadoop/spark/README.md")
显示项数
textfile.count()
注意点:
本地文件的路径必须是以下格式"file:文件在本地的路径"
读取HDFS上面的文件
>>> textfile = sc.textFile("hdfs://127.0.0.1:9000/user/hduser/test/README.txt")
>>> textfile.count()
31
在读取HDFS文件的时候,格式 "hdfs://ip+端口/hdfs上面的文件路径"
在Hadoop的YARN上启动pyspark
pyspark --master yarn --deploy-mode client
在spark standalone上启动spark
启动spark standalone cluster
/home/hadoop/spark/sbin/satrt-all.sh
在spark standalone 运行spark
pyspark --master spark://127.0.0.1:7077 --num-executors 1 --total-executors-cores 1 --executor-memory 512m
安装anaconda
安装完毕后,在本地Local状态下打开
PYSPARK_DRIVER_PYTHON=ipython PYSPARK_DRIVER_PYTHON_OPTS='notebook' pyspark
开启jupyter notebook命令
注意点:
赋值超级权限
sudo usermod -aG sudo 你的用户名
sudo adduser username(如果没有创建用户,需要创建用户)
hadoop命令
创建文件夹
hadoop fs -mkdir -p /user/hduser/wordcount/input
将文件上传到HDFS
hadoop fs -copyFromLocal LICENSE.txt /user/hduser/wordcount/input
从hdfs上下载文件
hadoop fs -copyToLocal 文件地址 下载地址
spark-RDD
RDD:弹性分布式数据集,与其他系统兼容,可以导入外部存储系统的数据集,例如HDFS ,HBASE或者其他Hadoop数据源
RDD是spark的核心内容
RDD的3种基本运算
RDD的运算类型 | 说明 |
---|---|
转换运算 | RDD执行转换的运算结果,会产生一个新的RDD;RDD具有‘lazy’特性,转换运算并不会立刻实际执行,等到执行动作运算才会实际真正执行;转换运算是记录命令,但是不执行 |
动作运算 | RDD 执行动作运算后不会产生一个新的RDD,而是产生一个数值、数组、写入文件系统,RDD的动作运算立即执行,并且会执行之前的转换运算 |
持久化 | 对于重复使用的RDD,可以将RDD持久化在内存中作为后续的使用,可以提高性能 |