草庐IT

Pyspark-Cluster

全部标签

apache-spark - pyspark 的 toDF() 与 createDataFrame() 的奇怪行为

我是初学者,刚开始使用spark。我在pySpark(Scala2.11.8)中执行了以下查询dic=[{"a":1},{"b":2},{"c":3}]spark.parallelize(dic).toDF()df.show()然后产生:+----+|a|+----+|1||null||null|+----+而当我执行spark.createDataFrame(dic).show()时它会产生+----+----+----+|a|b|c|+----+----+----+|1|null|null||null|2|null||null|null|3|+----+----+----+基于Un

hadoop - 太多获取失败 : Hadoop on cluster (x2)

上周左右我一直在使用Hadoop(试图掌握它),尽管我已经能够设置多节点集群(2台机器:1台笔记本电脑和一台小型台式机)并检索结果,当我运行hadoop作业时,我似乎总是遇到“太多的获取失败”。一个示例输出(在一个简单的wordcount示例中)是:hadoop@ap200:/usr/local/hadoop$bin/hadoopjarhadoop-examples-0.20.203.0.jarwordcountsitasita-output3X11/05/2015:02:05INFOinput.FileInputFormat:Totalinputpathstoprocess:711/

hadoop - 使用 pyspark 流式传输到 HBase

网上有大量关于使用Scala使用Spark流批量加载到HBase的信息(thesetwo特别有用)和一些关于Java的信息,但似乎缺乏相关信息与PySpark。所以我的问题是:如何使用PySpark将数据批量加载到HBase?大多数示例在任何语言中都只显示每行被更新的一列。如何在每行中插入多列?我目前的代码如下:if__name__=="__main__":context=SparkContext(appName="PythonHBaseBulkLoader")streamingContext=StreamingContext(context,5)stream=streamingCon

java - Apache Spark : TaskResultLost (result lost from block manager) Error On cluster

我在Virtualbox上有一个带有3个从节点的Spark独立集群。我的代码在Java上,它可以很好地处理我的小输入数据集,它们的输入总共大约100MB。我将我的虚拟机RAM设置为16GB,但是当我在大输入文件(大约2GB)上运行我的代码时,在我的reduce部分处理数小时后出现此错误:Jobabortedduetostagefailure:Totalsizeofserializedresultsof4tasks(4.3GB)isbiggerthanspark.driver.maxResultSize`我编辑了spark-defaults.conf并为spark.driver.maxR

hadoop - yarn : How to utilize full cluster resources?

所以我有一个带有7个工作节点的cloudera集群。30GB内存4个vCPU以下是我发现的一些配置(来自Google)对于调整我的集群性能很重要。我正在运行:yarn.nodemanager.resource.cpu-vcores=>4yarn.nodemanager.resource.memory-mb=>17GB(为操作系统和其他进程预留)mapreduce.map.memory.mb=>2GBmapreduce.reduce.memory.mb=>2GB运行nproc=>4(可用处理单元数)现在我担心的是,当我查看我的ResourceManager时,我看到可用内存为119GB,

java - Apache Spark :-Nullpointer Exception on broadcast variables (YARN Cluster mode)

我有一个简单的spark应用程序,我试图在YARN集群上广播一个String类型的变量。但是每次我尝试访问广播变量值时,我都会在任务中得到空值。如果你们可以提出建议,那将非常有帮助,我在这里做错了什么。我的代码如下:-publicclassTestAppimplementsSerializable{staticBroadcastmongoConnectionString;publicstaticvoidmain(String[]args){StringmongoBaseURL=args[0];SparkConfsparkConf=newSparkConf().setAppName(Co

【pyspark从入门到放弃】DataFrame

环境安装pyspark支持通过pypip、conda下载,或者手动下载。笔者通过pipinstall命令从pypip下载并配置安装了3.5.0版本的Spark。创建实例使用spark的第一步就是拿到一个SparkSession对象。最简单的方法是SparkSession.builder.getOrCreate()即,直接使用默认参数创建实例。也可以做一些配置,比如SparkSession.builder\.appName(app_name)\.enableHiveSupport()\.getOrCreate()DataFrame创建DataFrameDataFrame是类似pandas库中的D

scala - Cluster 模式下使用 Spark 写入文件到本地系统

我知道这是一种使用Spark的奇怪方式,但我正在尝试使用Spark将数据帧保存到本地文件系统(不是hdfs),即使我处于集群模式。我知道我可以使用客户端模式,但我确实想在集群模式下运行并且不关心哪个节点(3个中的)应用程序将作为驱动程序运行。下面的代码是我正在尝试做的伪代码。//createdataframevaldf=Seq(Foo("John","Doe"),Foo("Jane","Doe")).toDF()//saveittothelocalfilesystemusing'file://'becauseitdefaultstohdfs://df.coalesce(1).rdd.s

hadoop - 了解 Spark : Cluster Manager, Master 和 Driver 节点

读完这篇question,我想再问一些问题:集群管理器是一个长期运行的服务,它在哪个节点上运行?主节点和驱动节点可能是同一台机器吗?我假设某处应该有一条规则说明这两个节点应该不同?如果Driver节点出现故障,谁负责重新启动应用程序?究竟会发生什么?即主节点、集群管理器和工作节点将如何参与(如果他们参与),以及以什么顺序参与?与上一个问题类似:如果主节点发生故障,具体会发生什么情况以及谁负责从故障中恢复? 最佳答案 1.TheClusterManagerisalong-runningservice,onwhichnodeitisru

scala - Spark : check your cluster UI to ensure that workers are registered

我在Spark中有一个简单的程序:/*SimpleApp.scala*/importorg.apache.spark.SparkContextimportorg.apache.spark.SparkContext._importorg.apache.spark.SparkConfobjectSimpleApp{defmain(args:Array[String]){valconf=newSparkConf().setMaster("spark://10.250.7.117:7077").setAppName("SimpleApplication").set("spark.cores.m