草庐IT

Spark-MongoDB

全部标签

scala - Spark 内存限制超出问题

我有一份在spark上运行的工作,它是使用sparkRDD在scalaim中编写的。由于昂贵的分组操作我得到这个错误:容器因超出内存限制而被YARN终止。使用了22.4GB的22GB物理内存。考虑提升spark.yarn.executor.memoryOverhead。我增加了头顶的内存,但我得到了同样的结果。我使用10台r4.xlarge机器。我尝试使用r4.2xlarge甚至r4.4xlarge,但也出现同样的错误。我正在测试的数据是5GB压缩数据(将近50个解压缩数据和近600万条记录)。一些配置:spark.executor.memory:20480Mspark.driver.

MongoDB发现与条件的不同计数

如何在MongoDB中选择。Selectroom(distinct),count(whereread=1)fromchatwherefrom="1"orto="1"这是我的JSON{"_id":ObjectId("595da6052008fc2213db32f6"),"room":"1_40","from":"1","to":"40","user_name":"TranCot","mes":"hgfd","time":1499309573832,"read":1}看答案如果您想为每个房间的总读取消息。利用聚合更新db.chat.aggregate([{$match:{$or:[{from:"4

xml - 如何在使用 spark 解析 xml 时将标题信息添加到行信息

我有一个像这样的xml结构1232314973233asd123book1124book2456book4789我知道我可以像这样解析books:valxml=sqlContext.read.format("com.databricks.spark.xml").option("rowTag","book").load("FILENAME")但我想在每一行中添加标题信息,如supplier。有没有一种方法可以将这个“headerinfo”添加到带有spark的所有行,而无需加载文件两次并将信息存储在全局变量/值中?提前致谢! 最佳答案

hadoop - Apache Spark - Python - 如何在 Pyspark 中使用范围函数

我有几行空格分隔的输入数据:NameCompanyStart_DateEnd_DateNareshHDFC2017-01-012017-03-31AnoopICICI2017-05-012017-07-30我需要输出为:NareshHDFC201701NareshHDFC201702NareshHDFC201703AnoopICICI201705AnoopICICI201706AnoopICICI201707我已经为这些数据制作了一个文本文件,并将其放在我的Hadoop集群上,我已经编写了代码,但在获取输出时遇到了一些问题。请帮忙。我不知道如何从条目中提取月份并将它们放入范围函数中,所

如何使用MongoDB收集输出作为变量

我能够使用Ansible打印MongoDB数据。但是这里我的要求是将印刷数据用作Ansible中的变量。这是我将获得AnsiblePlaybook输出的输出:这是我的剧本。----hosts:localhostvars:-i:"db.repo.find({$and:[{'product':'Admin'},{'env':'SHK'}]}).pretty()"tasks:-name:Printingtheretrieveddatacommand:mongoAdvantage--quiet--eval"{{i}}"register:temp-name:Printingtheretrieveddat

apache-spark - 使用 Spark 写入外部 Hadoop

我正在使用Java-Spark。我正在尝试写入外部HDFS目录,如下所示:df.write().mode(mode).save("hdfs://myservername:8020/user/path/to/hdfs");并得到一个异常(exception)hostdetails:localhostis:...destinationhostis:...如何从Spark写入“外部”hdfs目录而不写入本地Hadoop/HDFS?谢谢 最佳答案 检查HDFSNamenode主机名是否可以从Spark集群访问,您也可以使用ip地址。hdfs

Spark在Windows下的环境搭建及pyspark的使用

  一、JDK的安装    Spark是一个用于大数据处理的开源框架,它是用Scala编写的,而Scala是一种运行在Java虚拟机(JVM)上的编程语言,因此它依赖于Java的运行环境。所以首先需要安装JDK(JavaTMPlatformStandardEditionDevelopmentKit),并将环境变量配置好。可参考我的另一篇博客:http://t.csdnimg.cn/6Kj8w二、Spark的安装1.下载Spark        从Spark官网进行下载:ApacheSpark™-UnifiedEngineforlarge-scaledataanalytics,点击Downloa

hadoop - 在 Apache Spark 中使用 Reduce

我正在尝试使用Apachespark加载一个文件,并将该文件分发到我集群中的多个节点,然后聚合结果并获取它们。我不太明白该怎么做。根据我的理解,reduce操作使Spark能够组合来自不同节点的结果并将它们聚合在一起。我的理解正确吗?从编程的角度来看,我不明白我将如何编写这个reduce函数。我究竟如何将主数据集分成N个部分,并使用转换列表要求它们并行处理?reduce应该接受两个元素和一个将它们组合起来的函数。这两个元素应该是Spark上下文中的RDD,还是可以是任何类型的元素?另外,如果你有N个不同的分区并行运行,如何减少将它们的所有结果聚合为一个最终结果(因为reduce函数只聚

hadoop - Spark RDD : Get row number

如何从当前正在处理的RDD中获取行号:valrdd2=rdd1.filter(row=>{//getrownumber}true}) 最佳答案 valrdd2=rdd1.zipWithIndex.filter{case(row,index)=>{//rownumberisindex.(butisnotfixed,unlessRDDissorted)} 关于hadoop-SparkRDD:Getrownumber,我们在StackOverflow上找到一个类似的问题:

scala - 在 Spark RDD Println Error 中,如何显示 [Ljava.lang.String;@8e6606 等数据

我在使用Scala时遇到ApacheSpark的一个问题。我正在尝试创建一个Spark应用程序,它根据用户输入打印一个RDD。输入数据是这样的:List("aaaa","aaaa","dfddf","aaaa","aaaa","dfddf","aaaa","aaaa","dfddf","aaaa","aaaa","dfddf","aaaa","aaaa","dfddf")代码是这样的:valwSchemaString="col1col2col3col4";valwSchema=StructType(wSchemaString.split("").map(fieldName=>Struc