Apache spark 禁用Spark master';让我们检查主机名是否相等

我有一个运行在Docker容器中的Spark master,它依次在远程服务器上执行。在Spark master旁边,有一些容器在同一Docker主机上运行Spark slave 服务器Docker主机Docker容器 为了让从属服务器找到主服务器,我在DockerSPARKMASTER中设置了一个主服务器主机名,从属服务器使用该主机名连接到主服务器。到目前为止,一切顺利 我使用SPARK\u MASTER\u IP环境变量让MASTER绑定到该名称 我还将Spark端口7077公开给Docke

Apache spark 为不同的工作节点设置不同的执行器内存限制

我在独立部署模式下使用spark 1.5.2,并使用脚本启动。执行器内存通过conf/spark-defaults.conf中的“spark.executor.memory”设置。这将为所有工作节点设置相同的内存限制。我想让它这样一个可以设置不同的节点不同的限制。我该怎么做 (Spark 1.5.2,ubuntu 14.04) 谢谢,我不认为有任何方法可以让大小不一的遗嘱执行人。您可以限制工作节点的大小,但这实际上限制了工作节点可以在该框上分配的内存总量 在运行应用程序时,您只能在应用程序级别指

Apache spark 火花减少功能:了解其工作原理

我要这个 它说RDD上的reduce操作是一次一台机器完成的。这意味着,如果您的数据在两台计算机上分割,那么下面的函数将处理第一台计算机中的数据,将找到该数据的结果,然后它将从第二台计算机中获取一个值,运行该函数,并将以这种方式继续,直到处理完来自机器2的所有值为止。这是正确的吗 我认为该函数将同时在两台机器上开始运行,然后一旦有来自两台机器的结果,它将再次最后一次运行该函数 rdd1=rdd.reduce(lambda x,y: x+y) 更新1-----------------------

Apache spark Pyspark控制柄Ctrl+;Z 运行PyScPk时,如果在进程中间执行CTRL+Z,它将停止运行,但不关闭SpkCurror。这意味着端口也没有关闭,spark必须在下次有人运行spark作业时通过多个端口进行连接。我想防止人们在运行这些脚本时使用Ctrl+Z,但是标准python处理程序在运行SparkContext时似乎不起作用,我假设这是因为它在java中运行,而且我只为python设置了一个处理程序?这是我写的一个例子 import signal from pyspark import SparkContext sc = SparkContext() def handler(signum, frame): print 'Please refrain from using CTRL + Z, use CTRL + C instead' signal.signal(signal.SIGTSTP, handler) while True: pass

当我运行这段代码时,按Ctrl+Z仍然会执行暂停的默认行为,而不是执行我的处理函数 如果我删除了spark内容,则此代码的工作方式与我希望的相同: import signal def handler(signum, frame): print 'Please refrain from using CTRL + Z, use CTRL + C instead' signal.signal(signal.SIGTSTP, handler) whi

Apache spark 更改从jupyter运行的spark驱动程序的默认堆栈大小?

我正在使用jupyter在Spark集群上运行python脚本。我想更改驱动程序默认堆栈大小。我在中发现,我可以使用spark.driver.extraJavaOptions将任何选项发送到驱动程序JVM,但文档中有一个注释: 注意:在客户端模式下,此配置不能通过 直接在应用程序中使用SparkConf,因为驱动程序JVM 已经开始了。相反,请通过 --驱动程序java选项命令行选项或默认属性文件中 问题是:如何在从jupyter运行时更改默认驱动程序参数?您可以通过将spark.driver.

Apache spark 如何使用IBM Spark安装程序设置安装路径?

Apache Spark的IBM安装程序(在我的例子中是IBM_Spark_DK_2.1.0.0_Linux_s390x.bin)提供了以下选项来执行安装程序(我缩短了选项列表以使其更具可读性): 我找到了答案: IBM_Spark_DK_2.1.0.0_Linux_s390x.bin -i silent -f <pathToInstallerPropertiesFile/InstallerPropertiesFile.cfg> 有趣的是,我找不到选项列表的文档。但一旦安装,您可以

Apache spark Spark数据帧UDAF问题

解码时出错: java.util.concurrent.ExecutionException: java.lang.Exception: failed to compile: org.codehaus.commons.compiler.CompileException: File 'generated.java', Line 58, Column 33: Incompatible expression types "boolean" and "java.lang.Boolean" 在此处查

Apache spark 如何单独处理Kafka分区并与Spark执行器并行处理?

我使用Spark 2.1.1 我使用结构化流媒体从2个Kafka分区读取消息。我正在向Spark Standalone cluster提交我的应用程序,其中有一个工作线程和两个执行线程(每个线程有两个内核) 我想要的功能是,来自每个Kafka分区的消息应该由每个单独的执行者独立处理。但是现在的情况是,执行器分别读取和映射分区数据,但是在映射完之后,通常会使用所形成的无界表,并且两个分区都有数据 当我在表上运行结构化查询时,查询必须处理来自两个分区的数据(更多的数据) 选择产品id、最大(smr.

Apache spark 用于流式作业的Spark UI

在spark UI的“流”选项卡中,我查看输出Op Id,单击spark UI的“流”选项卡中的任何微批次链接后出现的第一个列-它的作业Id号为0,1,2,3。这是否意味着所有这些作业都是并行运行的?每个作业id对应于驱动程序代码中的函数调用。或者它们是连续的?如何从DAG或Spark UI判断代码的不同功能是否同时运行?如果变量相互依赖,它必须是顺序执行。除了Kafka流之外,我没有任何公共变量。Kafka流被传递到驱动程序代码中的每个单独函数。如果变量相互依赖,它必须是顺序执行。除了传递给驱

Apache spark 未定义名称spark

试图遵循spark教程,但出现以下错误- “未定义名称“spark” 如果spark版本为1.0.1,则不应使用2.2.0版的教程。这些版本之间有重大变化 在这个网站上你可以找到 在1.6.0教程之后,您必须使用textFile=sc.textFile(“README.md”)而不是textFile=spark.read.text(“README.md”)您的spark版本是什么?版本-spark 1.0.1如果不是2.0+,请更新到1.6。这将是一个更容易的学习体验。:) Using Pyt

Apache spark Scala Spark:按AUC分组计算

我试图使用scala API计算ROC下按关键字段分组的AUC区域,类似于以下问题: 不幸的是,我不能使用sklearn。我怎样才能继续 我们将使用sklearn/mllib中使用的相同方法,即。这是一种用来近似定积分的技术 这很简单,您可以在中找到相同的代码 def梯形点:Seq[双精度,双精度]:双精度={ requirepoints.length==2 val x=点.head val y=最后一个点 y、 _1-x._1*y._2+x._2/2.0 } def Area UnderCur

Apache spark spark如何从HDFS加载文件及其与RDD的关系

如何从集群中的HDFS中提取数据? 如何将块转换为RDD 假设我有3个节点的集群,我有一个名为log.txt的文件,它被分为3个块。所有3个节点的每个块都有一个节点 spark如何加载log.txt以及如何将其转换为RDD?spark与任何HDFS客户端都没有区别 联系namenode获取文件,它返回块的位置,然后HDFS客户端将从datanodes获取块 块不会转换为RDD,而RDD只是应用在Hadoop InputSplit上的元数据,Hadoop InputSplit是由RecordRea

Apache spark 如何为dataframe_2中的每个值筛选dataframe_1中的所有行?

我有两个spark数据帧:包含所有项目事务的dataframe_1和具有唯一项目ID的dataframe_2。我想为dataframe_2中的每个值筛选dataframe1中的所有行 我正在尝试使用连接查询,但不确定如何继续,下面是用scala编写的主程序: def main(args: Array[String]) { Logger.getLogger("org").setLevel(Level.ERROR) val ss = SparkSession .bui

Apache spark 无效的状态代码';400';从…起错误有效负载:";需求失败:会话不为';不活跃

我正在运行Pyspark脚本,将数据帧写入jupyter笔记本中的csv,如下所示: df.coalesce(1).write.csv('Data1.csv',header = 'true') 运行一小时后,我得到以下错误 错误:中的无效状态代码未激活 我的配置如下: spark.conf.set("spark.dynamicAllocation.enabled","true") spark.conf.set("shuffle.service.enabled","true") spark.co

Apache spark 如何通过身份验证从spark连接远程配置单元

我必须使用我的本地spark来连接具有身份验证的远程配置单元 我可以通过直线连接 直线>!连接jdbc:hive2://bigdatamr:10000/default 连接到jdbc:hive2://bigdatamr:10000/default 输入jdbc的用户名:hive2://bigdatamr:10000/default:myusername 输入jdbc的密码:hive2://bigdatamr:10000/默认值:******** 已连接到:Apache Hive(版本1.2.0-

Apache spark 估计要从Spark写入HDFS的零件文件数

我想在HDFS中以Parquet.snappy格式编写Spark数据帧。目前,它正在创建默认的200个零件文件,即使表中的记录数较少 是可用的任意公式,该公式提供了大约数量的零件文件以HDFS格式写入,因此读取速度更快 理想情况下,零件文件大小应在50-200 MB之间。 我知道重新分区和合并功能会减少/增加零件文件的数量。我正在寻找数据帧需要重新分区的编号。基本上,您的数据帧中的部分文件与分区数量相同 如果确定总数据量,可以尝试使用合并或重新分区方法

Apache spark Sparkly_应用于Coxph函数

我试图用Spark_Apply运行coxph()生存函数,但我得到了下面的错误 Error in file(con, "r") : cannot open the connection In addition: Warning message: In file(con, "r") : cannot open file 'C:\Users\XXXX\AppData\Local\Temp\1\Rtmpusw8Aw\file344868ef1e07_spark.log': Permission d

Apache spark 在flatmap期间如何保持映射数据的分离

y是所有行的集合,我希望将其拆分为N部分,而不是合并为一部分,以保留原始文件中的行。因此,如果当前,我的y值有10000个项目,我有10个文件。我希望y有10个项目,每个项目都是一个集合,包含该特定文件的行 我如何才能做到这一点?@asdasd2a43qaad 如果我理解正确,您可以使用map而不是x上的flatMap来实现这一点 y=x.map(lambda p:p.split('\n')) 希望这有帮助 files = sc.wholeTextFiles("/path/to/data*")

Apache spark Spark:通过线性回归的P值反向消除

我目前有一个Spark数据框,有两列: 1) 每行包含预测特征向量的列 2) 包含要预测的值的列 为了识别在以后的模型中使用的最具预测性的特征,我使用了p值向后消除法,如所述。下面是我的代码: num_vars = scoresDf.select("filtered_features").take(1)[0][0].__len__() for i in range(0, num_vars): model = LinearRegression(featuresCol="filtered_f

Apache spark 如何在这个用例中动态地划分数据

我使用的是spark-sql-2.4.1版本。我有一个类似下面的代码。 我有下面这样的场景 val superDataset = // load the whole data set of student marks records ... assume have 10 years data val selectedYrsDataset = superDataset.repartition("--GivenYears--") //i.e. GivenYears are 2010,2011 O

Apache spark 结构化流:必须使用writeStream.start()执行具有流源的查询

我正在尝试使用结构化流从文件中读取一些数据,并最终将其写入Cassandra。然而,在卡桑德拉写作之前,我得到了下面的错误 "org.apache.spark.sql.AnalysisException: Queries with streaming sources must be executed with writeStream.start();;" 下面是我正在使用的代码片段 val ip15M = spark.readStream.schema(NewsSchema).parquet(

Apache spark dse spark提交到特定工作池,而不是“提交”;“违约”;

我能够从中成功构建示例项目 我还成功提交了dse spark submit。程序运行良好,结果与预期一致 dse spark提交——class com.datastax.spark.example.WriteRead目标/WriteRead-0.1.jar 现在,我希望将上述作业提交到dse.yaml中配置的现有池中 resource_manager_options: worker_options: cores_total: 6 memory_total: 32G wor

Apache spark Spark查找已分区列的最大日期

我有一个拼花地板按以下方式分割: data /batch_date=2020-01-20 /batch_date=2020-01-21 /batch_date=2020-01-22 /batch_date=2020-01-23 /batch_date=2020-01-24 此处,作为分区列的batch_date为日期类型 我只想从最新的日期分区读取数据,但作为消费者,我不知道最新的值是什么 我可以用一个简单的小组 df.groupby().agg(max(col('batch_date')))

Apache spark 无法在pyspark中使用Jupyter笔记本读取文本文件

下面是我使用Jupyter笔记本中的Pyspark访问文本文件的代码。我正在Linux环境(Ubuntu)中运行Jupyter笔记本 当我尝试运行“result=ratings.countByValue()”时,我遇到下面的错误,即“java.io.IOException:无法运行程序“python”:错误=2,没有这样的文件或目录 Py4JJavaError回溯(最近一次调用) 在里面 1评级=lines.map(lambda x:x.split()[2]) 2#评级。收集() ---->3结

Apache spark Spark log4j stdout重定向到纱线上的stderr

我使用Log4j,火花在纱线上运行。当我尝试记录一些消息时,我可以在纱线stderr上看到日志,但在纱线stdout(纱线网)上看不到日志。我能做什么 @transient val log = Logger.getLogger(this.getClass) log.info("...") log4j.rootLogger=ERROR,console # add a ConsoleAppender to the logger stdout to write to the c

Apache spark 使用多列更新Apache Spark/Databricks中的表

我正在尝试根据多个列与另一个表的匹配情况更新一个表。我已经尝试了下面显示的内容,但是我得到了显示的错误。这是怎么做到的 update my_table set flag = '1' where (patient_id, org) in ( select distinct (patient_id, org) from enc where lower(enc_type) like '%visit%' ) 错误: Error in SQL statement: AnalysisException

Apache spark 如何在Graphx中创建EdgeRDD

我使用的是spark 1.4.0和graphx,我的图形边存储在文件中,我使用以下代码行 将它们存储在RDD中。我想使用EdgeRDD而不是RDD[Edge[String]] val edges: RDD[Edge[String]] = edge_file.map(line => {val x = line.split("\\s+") Edge(x(0).toLong, x(1).toLong, " "); }) 我试过这个 val edgesRDD = EdgeRDD(edges)

Apache spark Scala Spark应用程序已提交到纱线集群并在中取消注册,但未执行任何操作 目标

在纱线簇模式下运行scala spark应用程序jar。它适用于独立群集模式和纱线客户端,但由于某些原因,它不能在纱线群集模式下运行到完成 细节 它似乎执行的代码的最后一部分是在读取输入文件时将初始值分配给数据帧。看起来在那之后它什么也没做。没有任何日志看起来异常,也没有警告或错误。它突然被取消注册,状态成功,所有东西都被杀死。在任何其他部署模式(例如,Thread客户端、独立集群模式)上,所有操作都可以顺利完成 15/07/22 15:57:00 INFO yarn.ApplicationMa

Apache spark Spark-将JDBC驱动程序JAR添加到GoogleDataProc

我试图通过JDBC编写: df.write.jdbc("jdbc:postgresql://123.123.123.123:5432/myDatabase", "myTable", props) 说明如果在客户机模式(即Dataproc运行的模式)下运行,则配置选项spark.driver.extraClassPath不能用于添加JDBC驱动程序JAR,因为JVM已经启动 我尝试在Dataproc的submit命令中添加JAR路径: gcloud beta dataproc jobs subm

Apache spark 群集模式下无HDFS的Spark:哪些数据存储在哪里?

我在集群模式下使用Spark 1.5而不使用HDFS来构建应用程序。我想知道,当进行保存操作时,例如 df.write.parquet("...") 哪些数据存储在哪里?是所有数据都存储在主节点上,还是每个工作节点都存储其本地数据?一般来说,所有工作节点都将执行对其本地文件系统的写入,而驱动程序只写入一个\u成功文件

Apache spark “调试”;“检测到托管内存泄漏”;在Spark 1.6.0中

我已经尝试升级到ApacheSpark1.6.0RC3。我的应用程序现在几乎在每项任务中都会出现以下错误: Managed memory leak detected; size = 15735058 bytes, TID = 830 我已将org.apache.spark.memory.TaskMemoryManager的日志记录级别设置为DEBUG,并在日志中查看: I2015-12-18 16:54:41,125 TaskSetManager: Starting task 0.0 in s

Apache spark 火花动态改变记忆分数

我有一个Spark作业,它在前半部分需要很大一部分执行器内存,在后半部分需要很大一部分用户内存。是否有任何方法可以在运行时动态更改Spark内存分数?Short:Spark.无法在运行时更改配置选项 再长一点:应该没有必要。如果使用最新的Spark(1.6或更高版本),则不推荐使用内存设置。您可以设置spark.memory.useLegacyMode,spark将完成其余的操作。您也检查了这一项吗?用户内存是什么意思?@Shankar据我所知,统一内存管理仅适用于RDD内存,即--spark.

Apache spark Spark ML-MultiClassificationEvaluator-我们可以通过每个类别标签获得精确度/召回率吗?

我正在用Spark ML中的随机森林进行多类预测 对于spark ML中的MultiClassificationEvaluator(),是否可以通过每个类标签获得精度/召回率 目前,我只看到所有类的精度/召回率组合在一起。使用内置方法来看这似乎是不可能的 虽然不完全是您想要的,但您可以在metricName方法中使用weightedPrecision和weightedRecall。这至少可以解释类的不平衡。直接使用org.apache.spark.mllib.evaluation.Multicl

Apache spark Spark:从RDD到本地机器检索大数据的最佳实践

我有一个大的RDD(1gb)的纱线集群。在使用此群集的本地计算机上,我只有512MB。我想在本地机器上迭代RDD中的值。我不能使用collect(),因为它会在本地创建太大的数组,这比我的堆还要大。我需要一些迭代的方法。有方法iterator(),但它需要一些额外的信息,我无法提供 UDP:Committed ToLocalitor方法使用Spark映射/过滤/减少并稍后下载结果?我认为通常的Hadoop方法会奏效 Api说有map-filter-saveAsFile命令:使用Spark映射/f

Apache spark 将火花代码分配到作业、阶段和任务中

根据我的理解,整个作业中的每个操作都被转换为作业,而作业中的每个洗牌阶段被转换为阶段,每个阶段的每个分区输入都被转换为任务 如果我错了,请纠正我,我无法获得任何实际定义。在Spark应用程序中调用操作会触发启动Spark作业以完成它。Spark检查DAG并制定执行计划。执行计划包括将作业的转换组装到各个阶段 当Spark在内部优化代码时,它会将代码分为几个阶段,其中 每个阶段由许多小任务组成。每个阶段包含一系列转换,这些转换可以在不搅乱全部数据的情况下完成 给定阶段的每个任务都是由完全相同的线程

Apache spark 从拼花文件创建配置单元表并加载数据

我发现很难将拼花地板文件加载到蜂窝表中。我正在Amazon EMR集群和spark上进行数据处理。但是我需要读取输出的拼花文件来验证我的转换。我有以下模式的拼花地板文件: root |-- ATTR_YEAR: long (nullable = true) |-- afil: struct (nullable = true) | |-- clm: struct (nullable = true) | | |-- amb: struct (nullable = true)

Apache spark 使用PySpark的Spark 2.3.0示例中的PCA

我有一个Spark数据框,我想用它来运行一个简单的PCA示例。我已经看到并注意到这一点,因为它们将特征转换为向量: from pyspark.ml.linalg import Vectors >>> data = [(Vectors.sparse(5, [(1, 1.0), (3, 7.0)]),), ... (Vectors.dense([2.0, 0.0, 3.0, 4.0, 5.0]),), ... (Vectors.dense([4.0, 0.0, 0.

Apache spark Spark rdd.collectAsMap()是如何工作的?为什么培训过程中it成本会增加?

使用Spark进行模型训练,在训练期间更新广播参数,在每次迭代的前端,我使用 broadcast_params = sc.broadcast(params.collectAsMap()) ... update(params) 但是我发现collectamap()步骤的时间成本在增加。。。为什么会发生这种情况 collectAsMap将把结果提取到驾驶员侧。因此,如果结果的大小很大,则需要很长时间。你没有提到你在训练中使用的算法,我猜你使用了某种迭代算法,经过几轮迭代后,结果的大小会增加 我使用

Apache spark 通过多个键对spark类型安全聚合进行分组

在下面的代码段中,第二次聚合失败(不足为奇),原因是: java.lang.ClassCastException:org.apache.spark.sql.catalyst.expressions.GenericRowWithSchema无法强制转换为spark_test.Record package spark\u测试 导入org.apache.spark.sql.expressions.Aggregator 导入org.apache.spark.sql.{DataFrame、编码器、编码器、

Apache spark 无法使用Case类将字符串解析为Int

有人能帮我找出我到底在哪里丢失了这段代码吗?我无法将电话从字符串解析为整数 case class contactNew(id:Long,name:String,phone:Int,email:String) val contactNewData = Array("1#Avinash#Mob-8885453419#avinashbasetty@gmail.com","2#rajsekhar#Mob-9848022338#raj@yahoo.com","3#kamal#Mob-98032446443

Apache spark 如何减少具有大量列的spark数据帧的df.descripe()方法执行时间

对于我的一个数据验证脚本,我正在输入数据帧上执行df.descripe(),以准备数据概要文件(其中df是我的输入数据帧)。对于3000列(但只有16条记录)的特定数据帧,此特定部分的平均时间为3分钟。当我检查spark历史记录时,该部分分两个阶段执行,每个阶段有一个任务。在事件时间线上,99.99%的时间作为“执行者计算时间”。随机写入和随机读取仅以kb为单位,甚至不需要毫秒完成。在检查此阶段的DAG执行流时,它给出了如下流程: stage 1: (~1.4 min) scan csv

Apache spark (py)SQL语法中的Spark getItem()

可以使用getitemn检索数组类型列的第n项。映射类型的列可以使用getItemkey或“column.key”进行拆分。数组是否有类似的语法 上下文:目标是以可读的方式从大量嵌套的json中获取特定字段 from pyspark import SparkContext from pyspark.sql import SparkSession sc = SparkContext.getOrCreate() spark = SparkSession(sc) sample = spark.cr

Apache spark 我如何查询损坏的记录而不使用Azure Databricks中的Pyspark缓存数据?

我对数据库中的损坏记录有问题。我们希望统计损坏的记录,并将损坏的记录保存在特定位置作为增量表。 为此,我们使用PERMISSIVE进行阅读,并基于此_corrupt_record列进行查询 我们在Azure Databricks中将pyspark与Apache Spark 3.0.1一起使用 下面是我们得到的错误消息: 自Spark 2.3以来,来自原始 当引用的列仅包括时,不允许使用JSON/CSV文件 默认情况下,名为_corrupt_record的内部损坏记录列。 例如: spark.re

上一页   1   2   3   4    5   6  ... 下一页 最后一页 共 494 页