背景:
小批量数据可以使用pandas 进行分析,方便灵活。但大批量(千万级别)数据,使用pandas分析处理,速度很慢,且需一次性读取全部数据,内存可能溢出。
此时使用spark分布式分析处理速度很快,且数据分区,再配上jupyter 在线分析工具界面,可以很方便进行交互式大数据集分析。
注意:
python第三方库pyspark,和spark自带组件pyspark,都提供了与Spark 集群交互的 Python 接口,让Python 开发人员能够利用 Apache Spark 的强大功能来处理大规模数据。
区别:spark集群自带组件pyspark,与spark一体,无需进行配置,可直接使用;python pip安装的pyspark模块,需要配置上spark集群相关信息,才能利用spark集群处理数据。
环境:
Jupyter-lab(python3.7) + Spark集群(sparkV2.4.0 - cdh6.3.4)
文章目录
1、Jupyter Pyspark 在线交互式环境配置
1.1 第一种方式
# 安装pyspark类库
> pip install pyspark==2.4.0 # 与spark集群版本保持一致
# 启动jupyter-lab
> jupyter-lab
# jupyter环境
import os
from pyspark import SparkContext,SparkConf
from pyspark.sql import SparkSession
from pyspark.sql.types import StructType,FloatType,IntegerType
import pyspark.sql.functions as F
from pyspark.ml.feature import QuantileDiscretizer
import pandas as pd
import numpy as np
import logging
import sys
import warnings
# 日志配置
logging.getLogger("py4j").setLevel(logging.WARN) # 屏蔽spark运行debug日志
logging.getLogger("pyspark").setLevel(logging.WARN)
# 配置集群spark、hadoop家目录
os.environ['SPARK_HOME'] =

最低0.47元/天 解锁文章
1240

被折叠的 条评论
为什么被折叠?



