目录
- 背景
- 第一部分 环境依赖
- 第二部分 交互接口
- 第三部分 任务提交
- 参考文献及资料
背景
第一部分 环境准备
配置和启动jupyter notebook
。
1.1 生成配置
1 | root@hadoop01:/opt# jupyter notebook --generate-config |
1.2 配置文件
1 | root@hadoop01:/opt# vi /root/anaconda3/share/jupyter/kernels/python3/kernel.json |
1.3 启动:
1 | nohup jupyter notebook --ip=0.0.0.0 --no-browser --allow-root --notebook-dir=/opt/jupyter & |
1.4 配置密钥
1 | jupyter notebook password |
1.5 验证
1 | import pyspark |
第一部分 数据的读取
通常数据存储在csv文件中,需要使用pyspark进行读取。
1 | df = spark.read.option("header",True).csv("/data/test.csv") |
如果是从hdfs文件系统读取:
1 | df = spark.read.options(header='True', delimiter=',').csv("hdfs://hadoop01:9000/data/test.csv") |
可以使用show方法进行查看:
1 | df.show() |
第二部分 数据清洗
数据的清理,去除含有空字段的记录。
1 | from pyspark.sql.functions import isnull, when, count, col |
另外还有些时候我们需要替换指定条件的。比如替换空值。
1 | # 使用数字0替换null字段 |
对于一些不需要的列进行去除。
1 | # 去除列 |
列值转换。
1 | def encode_columns(df, col_list): |
特征数据向量化。
1 | # Assemble all the features with VectorAssembler |
切分数据集:
1 | #Decide on the split between training and testing data from the dataframe |
第三部分 模型训练
1 | from pyspark.ml.classification import RandomForestClassifier |
第四部分 模型预测评分
1 | from pyspark.ml.evaluation import MulticlassClassificationEvaluator |
第五部分 模型应用
数据准备:
1 | df.write.option("header",True).csv("/data/output.csv") |
参考文献及资料
1、 案例,链接:https://hackernoon.com/building-a-machine-learning-model-with-pyspark-a-step-by-step-guide-1z2d3ycd
3、pyspark介绍,链接:https://sparkbyexamples.com/pyspark/pyspark-fillna-fill-replace-null-values/