草庐IT

Mongo-Spark

全部标签

scala - Apache Spark 中的转换和操作

我有scala代码,它使用通配符从HDFS获取多个输入文件,每个文件都进入一个函数,在该函数中对每个文件单独进行处理。importde.l3s.boilerpipe.extractors.KeepEverythingExtractorvaldata=sc.wholeTextFiles("hdfs://localhost:port/akshat/folder/*/*")valfiles=data.map{case(filename,content)=>filename}defdoSomething(file:String):(String,String)={//logicofproces

scala - 在 Hadoop 上使用 Spark 运行 Scala 程序

我已经创建了一个在文本文件中搜索单词的Scala程序。我用eclipse创建文件scala,然后用sbt和sbtassembly编译并创建一个jar。之后我在本地运行带有Spark的.jar并且它运行正确。现在我想尝试在hadoop上使用Spark运行这个程序,我有1台主机和2台工作机。我必须更改代码?我用主人的外壳做什么命令?我创建了一个存储桶,并将文本文件放入hadoop这是我的代码:importscala.io.Sourceimportorg.apache.spark.SparkContextimportorg.apache.spark.SparkContext._importo

hadoop - 如何使用spark for map-reduce flow来选择文件夹下所有csv文件的N列,前M行?

具体来说,假设我们有一个包含10k制表符分隔的csv文件的文件夹,这些文件具有以下属性格式(每个csv文件大约10GB):idnameaddresscity...1Mattadd1LA...2Willadd2LA...3Lucyadd3SF......而且我们有一个基于上面“name”的查找表namegenderMattMLucyF...现在我们有兴趣将每个csv文件的前100,000行输出为以下格式:idnamegender1MattM...我们可以使用pyspark来有效地处理这个问题吗?如何并行处理这些10k的csv文件? 最佳答案

hadoop - 启动 spark-submit 时出错,因为 avro

我正在用spark创建一个应用程序。我在Hadoop2的HDFS中使用avro文件。我使用maven并像这样包含avro:org.apache.avroavro-mapred1.7.6hadoop2我做了一个单元测试,当我使用mvntest时,一切正常。但是当我用spark启动时提交没有!我有这个错误:Exceptioninthread"main"org.apache.spark.SparkException:Jobabortedduetostagefailure:Task1instage0.0failed1times,mostrecentfailure:Losttask1.0inst

mongodb - 在 Hadoop MapReduce(使用 Mongo Hadoop 连接器)之后,重复记录被写入 MongoDB

我们在AWSEMR上的Hadoop测试环境1个主节点2个从节点当我们提交一个小测试作业时,它会触发1个maptask。map任务完成后,将触发3个reduce任务。reduce任务完成后,我们的输出数据将写入Mongo集合。但是我们注意到,在某些情况下,输出中有重复的记录。这会导致我们的下游处理任务崩溃,因为它们不需要重复。我注意到的一件事是,其中一个reduce任务有时会被终止,然后由hadoop重新启动-如果它在将数据写入Mongo的过程中被终止,这会导致重复记录吗?有什么方法可以从日志中看出Mongohadoop连接器是否真的在向Mongo写入数据?有什么方法可以确保在提交给Mo

hadoop - Spark Standalone 与 python 和 scala 的行为不同

我正在探索Spark,发现与SparkStandalone(简称SS)不一致。这里有一些关于我的集群的线索:d125.dtvhadooptest->最佳数据节点d124.dtvhadooptestd211.dtvhadooptest->最差数据节点我正在通过python和scala运行完全相同的作业。当作业作为python脚本提交时,SS在执行程序进程之间几乎平等地共享任务。但是,当作业作为scala脚本提交时,SS会异构地共享任务。我想截图会更好地解释它:python:斯卡拉:使用scala,作业运行速度明显加快(大约55分钟)。使用python时,大约90分钟即可完成作业。我认为造

scala - 使用 Spark 从目录中读取多个文件

我正在尝试解决这个问题problem在kaggle使用spark:输入的层次结构是这样的:drivers/{driver_id}/trip#.csve.g.,drivers/1/1.csvdrivers/1/2.csvdrivers/2/1.csv我想读取父目录"drivers",对于每个子目录,我想创建一个pairRDD,键为(sub_directory,file_name)和值作为文件的内容我检查了this链接并尝试使用valtext=sc.wholeTextFiles("drivers")text.collect()失败并出现错误:java.lang.ArrayIndexOutO

java - Spark Java scala 错误

嘿,我想在我的Java项目中使用spark:我已经将此依赖项添加到我的pom文件中:org.apache.sparkspark-core_2.111.4.0我试过这段代码:importorg.apache.spark.api.java.JavaSparkContext;publicclasssparkSQL{publicvoidquery(){JavaSparkContextsc=newJavaSparkContext();}}我在我的main中调用了这个函数,但我得到了这个错误:Exceptioninthread"main"java.lang.NoClassDefFoundError

scala - Spark : how to include dependencies with build/sbt compile

我是spark的新手,但正在尝试进行一些开发。我正在遵循thesparkdeveloperpage中的“减少构建时间”说明.创建正常程序集后,我编写了一些依赖于一个特定jar的类。我在spark-shell中测试了我的包,通过定义SPARK_CLASSPATH,我已经能够在其中包含我的jar,但问题在于实际编译我的代码。我想要实现的是在编译我添加的包时包含那个jar(使用build/sbtcompile)。我可以通过在build/sbt文件或sbt-launch-lib.bash中添加我的jar路径来做到这一点吗?如果可以的话,怎么做?(旁注:我还不想将jar包含在程序集中,因为我对它

java - 如何从单独的 java 程序中在集群上运行 spark 程序?

我有一个运行单独的小型spark程序的java程序,那么如何让我的java程序在集群上运行小型spark模块/程序?例如:我有一个程序名executor(java程序)。和一些spark程序--添加两个数字--减去两个数字那么我如何从我的java程序(在这种情况下为执行程序)在Cluster上运行这些spark程序。谢谢!!! 最佳答案 检查sparkjobserver项目,让您创建共享上下文并从rest接口(interface)执行作业:https://github.com/spark-jobserver/spark-jobser