前言
今天有时间,将自己的笔记分享出来,方便同僚查阅。不断详细与更新中。为了方便,例子都是以Python写的,后续也会有其他语言的版本。
创建编程入口
SparkContext入口
from pyspark import SparkConf, SparkContext
if __name__ == '__main__':
conf = SparkConf().setAppName("test").setMaster("local")
sc = SparkContext(conf=conf)
rdd1 = sc.parallelize([1, 2, 3, 4, 5])
rdd2 = rdd1.map(lambda x: x + 1)
print(rdd2.collect())
SparkSession入口
from pyspark.sql import SparkSession, DataFrame
if __name__ == '__main__':
spark: SparkSession = SparkSession.builder
.appName('test')
.master('local')
.enableHiveSupport()
.getorCreate()
# 创建list的list
lists = [['a', 1], ['b', 2]]
# 构建具有默认生成的列_1、_2的DataFrame
dataframe: DataFrame = spark.createDataFrame(lists)
dataframe.show()
SparkConext和SparkSession的关系
spark: SparkSession = SparkSession.builder.appName('test').master('local').enableHiveSupport().getorCreate()
sc: SparkContext = spark.sparkContext
DataFrame和RDD的关系
DataFrame是严格的表格关系
RDD是相对松散的关系(其中pairRDD稍微严格一点, 所以有一些特殊的操作)
RDD转dataFrame
dataframe = spark.createDataFrame(rdd, schema=None, samplingRatio=None)
dataFrame转RDD
dataframe = spark.createDataFrame([Row(col1='a', col2=1), Row(col1='b', col2=2)])
rdd = dataframe.rdd
SparkStreaming入口
spark = SparkSession.builder.appName('test').master('local[*]').getorCreate()
ss = StreamingContext(spark.sparkContext, 10)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。