草庐IT

spark-submit

全部标签

python - 没有名为 'resource' 的模块在 Windows 上安装 Apache Spark

我正在尝试安装apachespark以在我的Windows机器上本地运行。我已按照此处的所有说明进行操作https://medium.com/@loldja/installing-apache-spark-pyspark-the-missing-quick-start-guide-for-windows-ad81702ba62d.安装完成后,我可以成功启动pyspark,并执行如下命令textFile=sc.textFile("README.md")然后当我执行对文本文件进行操作的命令时,例如textFile.first()Spark给我错误“worker无法连接回来”,我可以在来自w

python - 如何在 Spark (Python) 中对我的 Row 对象的字段进行排序

我正在Spark中创建Row对象。我不希望我的字段按字母顺序排列。但是,如果我执行以下操作,它们将按字母顺序排列。row=Row(foo=1,bar=2)然后它创建一个如下所示的对象:Row(bar=2,foo=1)然后,当我在此对象上创建一个数据框时,列顺序将首先是bar,然后是foo,而我更愿意采用相反的顺序。我知道我可以使用“_1”和“_2”(分别代表“foo”和“bar”),然后分配一个架构(具有适当的“foo”和“bar”名称)。但是有什么方法可以防止Row对象对它们进行排序吗? 最佳答案 Spark>=3.0字段排序已被

Zookeeper+Hadoop+Spark+Flink+Kafka+Hbase+Hive 完全分布式高可用集群搭建(保姆级超详细含图文)

说明:本篇将详细介绍用二进制安装包部署hadoop等组件,注意事项,各组件的使用,常用的一些命令,以及在部署中遇到的问题解决思路等等,都将详细介绍。1.环境说明1.1ip规划iphostname192.168.1.11node1192.168.1.12node2192.168.1.13node31.2系统配置1.2.1系统版本[root@localhost~]#cat/etc/redhat-releaseCentOSLinuxrelease7.9.2009(Core)1.2.2内存建议最少4g、2cpu、50G以上的磁盘容量[root@localhost~]#free-htotalusedfr

python - 基于 Spark 中的另一个 RDD 进行过滤

我只想保留在第二个表中引用了部门ID的员工。EmployeetableLastNameDepartmentIDRafferty31Jones33Heisenberg33Robinson34Smith34DepartmenttableDepartmentID3133我已经尝试了以下不起作用的代码:employee=[['Raffery',31],['Jones',33],['Heisenberg',33],['Robinson',34],['Smith',34]]department=[31,33]employee=sc.parallelize(employee)department=s

python - Spark 程序在独立集群上运行时给出奇怪的结果

我有这个spark程序,我会尽量将它限制在相关部分#Splitbydelimiter,#Ifthefileisinunicode,weneedtoconverteachvaluetoafloatinordertobeableto#treatitasanumberpoints=sc.textFile(filename).map(lambdaline:[float(x)forxinline.split(",")]).persist()#startwithKrandomlyselectedpointsfromthedataset#Acentroidcannotbeanactualdatapo

python - 数据源用完时如何停止 Spark 流

我有一个SparkStreaming作业,每5秒从Kafka读取一次,对传入数据进行一些转换,然后写入文件系统。这真的不需要成为流式传输作业,实际上,我只想每天运行一次以将消息排入文件系统。不过,我不确定如何停止这项工作。如果我将超时传递给streamingContext.awaitTermination,它不会停止进程,它所做的只是导致进程在需要迭代流时产生错误(参见下面的错误)完成我想做的事情的最好方法是什么这是针对Python上的Spark1.6编辑:感谢@marios,解决方案是这样的:ssc.start()ssc.awaitTermination(10)ssc.stop()在

python - 当有更多机器可用时,Spark 只使用一台工作机器

我正在尝试通过Spark并行化机器学习预测任务。我之前在其他任务中成功使用过Spark多次,并且之前没有遇到过并行化问题。在这个特定任务中,我的集群有4个worker。我在具有4个分区的RDD上调用mapPartitions。map函数从磁盘加载一个模型(一个引导脚本分发执行此操作所需的一切;我已经验证它存在于每台从机上)并对RDD分区中的数据点执行预测。代码运行,但只使用一个执行器。其他执行者的日志显示“调用了关机Hook”。在不同的代码运行中,它使用不同的机器,但一次只使用一台。如何让Spark同时使用多台机器?我通过Zeppelinnotebook在AmazonEMR上使用PyS

python - 保留索引-字符串对应关系 spark 字符串索引器

Spark的StringIndexer非常有用,但通常需要检索生成的索引值与原始字符串之间的对应关系,并且似乎应该有一种内置的方法来完成此操作。我将使用Sparkdocumentation中的这个简单示例进行说明:frompyspark.ml.featureimportStringIndexerdf=sqlContext.createDataFrame([(0,"a"),(1,"b"),(2,"c"),(3,"a"),(4,"a"),(5,"c")],["id","category"])indexer=StringIndexer(inputCol="category",outputCo

python - 如何计算分组的 Spark 数据框中的 bool 值

我想计算分组的Spark数据框中的一列中有多少条记录为真,但我不知道如何在python中执行此操作。例如,我有一个包含region、salary和IsUnemployed列的数据,其中IsUnemployed作为bool值。我想看看每个地区有多少失业人员。我知道我们可以做一个filter然后groupby但我想同时生成两个聚合,如下所示frompyspark.sqlimportfunctionsasFdata.groupby("Region").agg(F.avg("Salary"),F.count("IsUnemployed")) 最佳答案

Spark中的Shuffle

  一、Spark Shuffle概述   大多数Spark作业的性能主要就是消耗在了shuffle环节,因为该环节包含了大量的磁盘IO、序列化、网络数据传输等操作。因此,如果要让作业的性能更上一层楼,就有必要对shuffle过程进行调优。但是也必须提醒大家的是,影响一个Spark作业性能的因素,主要还是代码开发、资源参数以及数据倾斜,shuffle调优只能在整个Spark的性能调优中占到一小部分而已。     在Spark的源码中,负责shuffle过程的执行、计算和处理的组件主要就是ShuffleManager,也即shuffle管理器。   在Spark1.2以前,默认的shuffle计