首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Pyspark,我应该多久创建一次新的Spark会话?

在使用Pyspark时,创建新的Spark会话的频率取决于你的具体需求和场景。一般来说,创建新的Spark会话可以带来以下几个优势:

  1. 隔离性:每个Spark会话都是相互隔离的,可以避免不同任务之间的干扰。如果你的任务需要独立的环境或者需要处理不同的数据集,创建新的Spark会话是一个不错的选择。
  2. 资源管理:创建新的Spark会话可以帮助你更好地管理资源。每个Spark会话都可以配置独立的资源分配,包括内存、CPU核心等。通过创建新的会话,你可以根据任务的需求来灵活分配资源,提高任务的执行效率。
  3. 数据隔离:如果你的任务需要处理不同的数据集,创建新的Spark会话可以帮助你实现数据的隔离。每个会话都有自己的数据上下文,可以避免数据混淆或者冲突的问题。

根据以上考虑,你可以根据以下几个场景来决定创建新的Spark会话的频率:

  1. 处理不同的数据集:如果你需要处理不同的数据集,特别是数据集之间存在依赖关系或者冲突的情况下,可以考虑创建新的Spark会话。
  2. 并行处理:如果你的任务需要并行处理多个任务或者数据集,可以创建多个Spark会话来实现并行计算,提高任务的执行效率。
  3. 资源管理:如果你的任务需要独立的资源分配,可以创建新的Spark会话来配置独立的资源。

总结起来,创建新的Spark会话的频率应该根据具体需求和场景来决定,根据隔离性、资源管理和数据隔离等考虑因素来选择是否创建新的会话。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Jupyter在美团民宿的应用实践

做算法的同学对于Kaggle应该都不陌生,除了举办算法挑战赛以外,它还提供了一个学习、练习数据分析和算法开发的平台。Kaggle提供了Kaggle Kernels,方便用户进行数据分析以及经验分享。在Kaggle Kernels中,你可以Fork别人分享的结果进行复现或者进一步分析,也可以新建一个Kernel进行数据分析和算法开发。Kaggle Kernels还提供了一个配置好的环境,以及比赛的数据集,帮你从配置本地环境中解放出来。Kaggle Kernels提供给你的是一个运行在浏览器中的Jupyter,你可以在上面进行交互式的执行代码、探索数据、训练模型等等。更多关于Kaggle Kernels的使用方法可以参考 Introduction to Kaggle Kernels,这里不再多做阐述。

02

如何在Hue中添加Spark Notebook

CDH集群中可以使用Hue访问Hive、Impala、HBase、Solr等,在Hue3.8版本后也提供了Notebook组件(支持R、Scala及python语言),但在CDH中Hue默认是没有启用Spark的Notebook,使用Notebook运行Spark代码则依赖Livy服务。在前面Fayson也介绍了《Livy,基于Apache Spark的开源REST服务,加入Cloudera Labs》、《如何编译Livy并在非Kerberos环境的CDH集群中安装》、《如何通过Livy的RESTful API接口向非Kerberos环境的CDH集群提交作业》、《如何在Kerberos环境的CDH集群部署Livy》、《如何通过Livy的RESTful API接口向Kerberos环境的CDH集群提交作业》、《如何打包Livy和Zeppelin的Parcel包》和《如何在CM中使用Parcel包部署Livy及验证》,本篇文章Fayson主要介绍如何在Hue中添加Notebook组件并集成Spark。

03

PySpark 中的机器学习库

传统的机器学习算法,由于技术和单机存储的限制,比如使用scikit-learn,只能在少量数据上使用。即以前的统计/机器学习依赖于数据抽样。但实际过程中样本往往很难做好随机,导致学习的模型不是很准确,在测试数据上的效果也可能不太好。随着 HDFS(Hadoop Distributed File System) 等分布式文件系统出现,存储海量数据已经成为可能。在全量数据上进行机器学习也成为了可能,这顺便也解决了统计随机性的问题。然而,由于 MapReduce 自身的限制,使得使用 MapReduce 来实现分布式机器学习算法非常耗时和消耗磁盘IO。因为通常情况下机器学习算法参数学习的过程都是迭代计算的,即本次计算的结果要作为下一次迭代的输入,这个过程中,如果使用 MapReduce,我们只能把中间结果存储磁盘,然后在下一次计算的时候从新读取,这对于迭代频发的算法显然是致命的性能瓶颈。引用官网一句话:Apache Spark™ is a unified analytics engine for large-scale data processing.Spark, 是一种"One Stack to rule them all"的大数据计算框架,期望使用一个技术堆栈就完美地解决大数据领域的各种计算任务.

02
领券