大型网站开发价格,平台网站怎么建设,南昌网站开发公司电话,wordpress 不显示作者目录 RDD概念RDD特点建立RDD的方式不同工具建立RDD的方式使用PySpark Shell(交互环境)建立RDD使用VSCode编程建立RDD使用Jupyter Notebook建立RDD 总结 PySpark实战笔记系列第一篇 RDD概念 Apache Spark的核心组件的基础是RDD。所谓的RDD#xff0c;即弹性分布式数据集#… 目录 RDD概念RDD特点建立RDD的方式不同工具建立RDD的方式使用PySpark Shell(交互环境)建立RDD使用VSCode编程建立RDD使用Jupyter Notebook建立RDD 总结 PySpark实战笔记系列第一篇 RDD概念 Apache Spark的核心组件的基础是RDD。所谓的RDD即弹性分布式数据集Resiliennt Distributed Datasets基于RDD可以实现Apache Spark各个组件在多个计算机组成的集群中进行无缝集成从而能够在一个应用程序中完成海量数据处理。
RDD特点
只读不能修改只能通过转换操作生成一个新的RDD。 分布式存储一个RDD通过分区可以分布在多台机器上进行并行数据处理。 内存计算可以将全部或部分数据缓存在内存中且可在多次计算过程中重用。 具有弹性在计算过程中当内存不足时可以将一部分数据落到磁盘上处理
建立RDD的方式
用parallelize方法建立RDD这种方式非常简单主要用于进行练习或者测试。用range方法建立RDD这种方式和parallelize方法类似一般来说主要用于进行测试。使用textFile方法建立RDD这种方式一般用于在本地临时性地处理一些存储了大量数据的文件。它依赖本地文件系统因此可以不需要Hadoop环境。使用HDFS建立RDD这种方式使用HDFS文件建立RDD需要依赖Hadoop集群环境它应该是最常用的一种生产环境下的数据处理方式。它可以针对HDFS上存储的海量数据进行离线批处理操作。
不同工具建立RDD的方式
使用PySpark Shell(交互环境)建立RDD 在安装完成Spark环境后就具备了Shell这款工具。其中Spark Shell是针对Scala语言的而PySpark Shell则是针对Python语言的。 使用PySpark Shell工具的方式在命令行输入如下命令pyspark PySpark Shell默认会自动创建sc对象和spark对象因此可以在交互环境中直接进行调用而无须手动创建。这里sc对象是SparkContext的实例而spark对象是SparkSession的实例。 使用VSCode编程建立RDD 在VSCode中以编程方式需要手动创建SparkContext实例。
首先需要用from pyspark import SparkConf, SparkContext导入SparkConf和SparkContext。confSparkConf().setAppName(“WordCount”).setMaster(local[**])**创建了一个SparkConf实例其中用setAppName设置了本次程序的名称用setMaster设置了Spark Master的方式为local[]。**scSparkContext(confconf)**创建SparkContext实例sc这与PySparkShell默认创建的sc对象类似。SparkContext不能一次运行多个否则会报ValueError: Cannot run multipleSparkContexts at once; existing SparkContext的错误。因此需要用sc.stop()命令关闭SparkContext实例对象。 需要用pip3 install findspark命令安装findspark否则可能会提示无法找到pyspark模块的错误ModuleNotFoundError: No module named ‘pyspark’。 示例界面 使用Jupyter Notebook建立RDD 编码方式类似VS Code不过它的好处是
可以对多个代码以文件的形式进行组织可以用于编写文档。更高级的是可以显示图形和运算结果。因此使用这种基于Web的部署方式可以让多个客户端同时使用且可共享代码示例真正做到图文并茂地进行编程。
总结
** 1.sc对象的两种创建方式** 方式一通过SparkConf创建from pyspark import SparkConf,SparkContext
# 创建SparkContext即sc对象
conf SparkConf().setAppName(Demo)\.setMaster(local[*])
sc SparkContext(confconf)方式二通过SparkSession创建from pyspark.sql import SparkSession
spark SparkSession.builder \.master(local[*]) \.appName(Demo) \.getOrCreate();
# 创建SparkContext即sc对象
sc spark.sparkContext2.完整的常用pyspark编程开头示例 根据上述两种sc的创建方式对应的常用的编程开头方式即在上述样例的开头加上如下代码
import findspark
findspark.init()参考资料《Python大数据处理库PySpark实战》