赞
踩
使用Spark核心API的应用以SparkContext对象作为程序主入口,而Spark SQL应用则以SparkSession对象作为程序主入口,在Spark2.0发布之前,Spark SQL应用使用的专用主入口是SQLContext和HiveContext。SparkSession把它们封装为一个简洁而统一的入口。
SparkSession 与 SparkContext 初始化:
from pyspark.sql import SparkSession
spark = SparkSession.builder.master("local").appNmae("example").getorCreate()
sc = spark.sparkContext
RDD为弹性分布式数据集。RDD是Spark的基本数据对象,无论是最初加载的数据集,还是中间运算结果的数据集,还是最终的结果数据集,都是RDD。
大多数Spark对从外部加载数据到RDD,然后对已有的RDD进行操作生成新的RDD,这些操作是转化操作,最终输出操作为止,这种操作是行动操作。
弹性:RDD是有弹性的,如果某个RDD丢失了,Spark可以通过记录的RDD谱系重新建立。
分布式:RDD是分布式的,RDD中的数据至少被分到一个区中,在集群上跨工作节点的保存在内存中。
数据集:RDD是由记录组成的数据集。记录是数据集中可以唯一区分的数据的集合。
常见的RDD基础操作属性函数如下表所示:
文件系统 | URL结构 |
---|---|
本地文件系统 | file:///本地文件路径 |
HDFS | hdfs:///hdfs路径 |
Amazon S3* | s3://bucket/path |
from pyspark.sql import SparkSession
spark = SparkSession.builder.master("local").appName("test").getOrCreate()
sc=spark.sparkContext
# 读取整个目录下的内容
logs = sc.textFile("hdfs:///user/data/")
# 读取单个文件
logs = sc.textFile("hdfs:///user/data/Log_Partition_001.txt/")
# 使用通配符读取文件
logs = sc.textFile(<
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。