草庐IT

spark-submit

全部标签

hadoop - Spark 作业似乎不能很好地并行化

使用星火1.1我有一份工作如下:读取给定根下的文件夹列表,并行化列表对于每个文件夹,读取其下的文件-这些是gzip文件对于每个文件,提取内容-这些是行,每行代表一个事件,字段用制表符(TSV)分隔创建一个包含所有行的RDD。将TSV转换为json。(现在的线条代表某种事件类型,有4种类型:Session、request、recommendation、userevent)仅过滤session事件。根据某些用户ID字段仅对其中的1:100进行采样。将它们转换为一对,使用表示某种输出结构(例如:事件类型/日期/事件)的键,然后将其写入FS。对请求和用户事件做同样的事情(对于推荐,无法根据用户

java - Spark 异常 : local class incompatible

我正在尝试将spark作业从客户端提交到cloudera集群。在集群中,我们使用的是CDH-5.3.2,它的spark版本是1.2.0,hadoop版本是2.5.0。因此,为了测试我们的集群,我们提交了从spark网站获取的wordcount示例。我们可以成功提交我们用java编写的spark作业。但是,我们无法将结果写入hdfs上的文件。我们收到以下错误,20/06/2509:38:16INFODAGScheduler:Job0failed:saveAsTextFileatSimpleWordCount.java:36,took5.450531sExceptioninthread"m

java - 从 apache Spark 运行 java 程序时出现 ClassNotFound 异常

我已编译Java程序并尝试使用spark运行,但它显示ClassNotFound异常,即使那里存在类文件也是如此。packageorg.apache.spark.examples;importorg.apache.spark.SparkConf;importorg.apache.spark.api.java.JavaRDD;importorg.apache.spark.api.java.JavaSparkContext;importorg.apache.spark.api.java.function;publicfinalclassJavaHelloWorld{publicstatic

hadoop - Apache Spark DataFrame 是否为每次处理从数据库加载数据,或者除非另有说明,否则它是否使用相同的数据?

我们有一个用例,我们需要搜索满足特定条件的特定记录。我们需要识别记录的这些条件有多种。我们计划使用apacheSparkDataframes。ApacheSpark数据帧是否为我们计划执行的每个搜索从db加载表数据,或者它是否在spark集群节点之间加载和分发表数据一次,然后在这些节点上运行搜索条件,直到它被明确告知加载数据来自数据库? 最佳答案 如果您使用.cache()或.persist()命令创建数据帧,那么它会尝试将数据帧持久保存在内存中。如果您不使用.cache创建它,那么它会按需从源数据集中读取数据。如果没有足够的可用内

hadoop - 是否可以在 SPARK 中覆盖 Hadoop 配置?

是否可以在SPARK中覆盖Hadoop配置,以便自动解析NameNodeIP?目前,由于现有的Hadoop配置(我无法修改,因为它可能会影响我的常规HDFS),我得到了UnknownHostException。 最佳答案 任何以spark.hadoop.前缀传入的内容都将被视为Hadoop配置覆盖。valconf=newSparkConfconf.set("spark.hadoop.HADOOPCONFKEY","VALUE")valsc=newSparkContext(conf)或者您传递到hadoopRDDconf中的任何内容都

hadoop - 是否可以在单 Spark 上下文中收听两个 dtsream?

我使用Spark1.4.1。我想同时收听两个不同的流,并在两个流中找到共同的事件。例如:假设一个温度数据流和另一个压力数据流。我想同时收听这两个流,并在两者都很高时发出警报。我有两个问题是否可以在一个spark中处理两个不同的流上下文。是否可以在单个驱动程序中拥有多个具有可变窗口大小的spark上下文。关于如何处理上述情况的任何其他想法也将不胜感激。谢谢 最佳答案 您可以从同一个StreamingContext创建多个DStream。例如valdstreamTemp:DStream[String,Int]=KafkaUtils.cr

java - 将两个存在于 hive 中的 spark 表连接起来

我已经在eclipse中编写了Java程序来连接spark中的两个表,但是在package附近出现错误这是下面的错误Thetypescala.reflect.api.TypeTags$TypeTagcannotberesolved.Itisindirectlyreferencedfromrequired.classfiles这是我写的程序packagejoins;importorg.apache.spark.SparkConf;importorg.apache.spark.SparkContext;importorg.apache.spark.api.java.JavaSparkCon

scala - 使用自定义 Hadoop 输入格式在 Spark 中处理二进制文件

我开发了一个基于hadoop的解决方案来处理二进制文件。这使用经典的hadoopMR技术。二进制文件大约10GB,分为73个HDFSblock,写成map进程的业务逻辑分别在这73个block上运行。我们在Hadoop中开发了一个customInputFormat和CustomRecordReader,将key(intWritable)和value(BytesWritable)返回给map函数。该值只是HDFSblock的内容(二进制数据)。业务逻辑知道如何读取这些数据。现在,我想将这段代码移植到spark中。我是spark的初学者,可以在spark中运行简单的示例(wordcount

python - 仅映射 spark 中的作业(与 hadoop 流相比)

我有一个函数process_line可以将输入格式映射到输出格式有些行已损坏,需要忽略。我成功地将此代码作为python流作业运行:forinput_lineinsys.stdin:try:output_line=process_line(input_line.strip())print(output_line)except:sys.stderr.write('Errorwithline:{l}\n'.format(l=input_line))continue如何在pyspark中运行等效代码?这是我尝试过的:input=sc.textFile(input_dir,1)output=l

scala - Spark 中的 RDD 持久化

这个问题在这里已经有了答案:(Why)doweneedtocallcacheorpersistonaRDD(5个答案)关闭7年前。我有一个关于RDD何时存储在内存中的问题。假设我有这段代码:valdataset=originalDataset.flatMap(data=>modifyDatasetFormat(data,mappingsInMap)).persist(StorageLevel.MEMORY_AND_DISK)到目前为止,我有一个RDD存储在每个工作节点的内存中。问题:如果我对这个RDD进行另一个转换或操作,这个持久性是否会停止存在并且我应该创建另一个或者它与它没有任何关