PySpark初始化,生成RDD

Table of Contents

 

Spark程序执行过程

Spark程序初始化

RDD

创建RDD

1. parallelize()集合 list或者array

2 textFile


Spark程序执行过程

每个spark 应用(application)包含一个驱动(driver)程序,这个驱动程序运行用户的主函数,并在集群中执行并行化操作。

驱动其实就是你的老大,你的主函数,他会产生很多个进程,每个进程可能有多个任务, 然后分配给工作节点作为任务

Spark程序初始化

Spark 程序的第一件事是创建一个SparkContext对象,这个对象告诉spark如何连接到集群。为了创建这个对象,首先需要创建一个包含application信息的 SparkConf 对象。

#import sparkSession package
from pyspark import SparkContext, SparkConf

conf = SparkConf().setAppName(appName).setMaster(master)  
sc = SparkContext(conf=conf)  

#你的程序
#
#
#
#

sc.stop()

sc.stop() 是用来结束当前的Spark程序,只有停止了当前程序 才能重新建立新的SparkContext对象

参数:

appName:是你的Spark程序在cluster上显示的名字

master is a Spark, Mesos or YARN cluster URL, or a special “local” string to run in local mode. In practice, when running on a cluster, you will not want to hardcode master in the program, but rather launch the application with spark-submit and receive it there. 一般master都是提供的, 只需要把你的程序上传的集群上就行, 本地测试时,用‘local’

RDD

RDD是一种分布式的数据集,基于某种关键字,数据集会被划分成块,把各个块发送到节点。

RDD的操作转换是并行的,惰性的, 你不调用这个数据集,他就不会执行操作。

创建RDD

1. parallelize()集合 list或者array

data =  sc.parallelize([1,2,3,4,5])

2 textFile

textFile文件路径传入格式

默认是从hdfs读取文件,也可以指定sc.textFile("路径").在路径前面加上‘hdfs://’表示从hdfs文件系统上读

本地文件读取 sc.textFile("路径").在路径前面加上‘file://’ 表示从本地文件系统读,如file:///home/user/spark/README.md

#记得import SparkFiles

from pyspark import SparkFiles


# hdfs目录格式如下
input_data_path = "hdfs://localhost:9002/input/file"

# 本地文件目录
input_data_path="file:///Users/a6/Downloads/file"

print (input_data_path)
result = sc.textFile(input_data_path)

textFile 一行一行的读入文件内容

猜你喜欢

转载自blog.csdn.net/a8131357leo/article/details/88022562
今日推荐