草庐IT

作业组

全部标签

scala - 无法解决 Spark 作业中的符号拆分

我在我的IntelliJIDE上运行一个spark应用程序作为Maven项目,我正在尝试创建一个rowRDD并将它们转换为数据帧并将其存储在hdfs中。SPARKVERSION:1.5.2SCALAVERSION:2.10.4我的代码:valrowRDD=dataframename.map(_.split("\t")).map(p=>Row(p(0),p(1),p(2),p(3)))它报告值拆分不是我的类包的成员并且报告应用程序不采用任何参数。存在一些依赖性问题,我需要这方面的帮助。注意:我已经完成了rowRDD的模式定义感谢支持 最佳答案

java - 由于 ClosedChannelException (DFSOutputStream.checkClosed) 而导致的 Spark 作业失败

我有一个spark应用程序。我使用saveAsNewAPIHadoopDataset在hdfs上存储一个rdd,利用AvroKeyOutputFormat。对于大型RDD,有时我会收到太多ClosedChannelException,以至于应用程序最终中止。我在某处读到设置hadoopConf.set("fs.hdfs.impl.disable.cache","false");有帮助。以下是我如何保存我的rdd:hadoopConf.set("fs.hdfs.impl.disable.cache","false");finalJobjob=Job.getInstance(hadoopC

hadoop - Sqoop 创建配置单元表错误-运行创建表作业时遇到 IOException

我在Centos7机器上运行sqoop,该机器已经安装了hadoop/mapreduce和hive。我从教程中读到,当将数据从RDBMS(在我的例子中是SQLServer)导入HDFS时,我需要运行下一个命令:sqoopimport-Dorg.apache.sqoop.splitter.allow_text_splitter=true--connect'jdbc:sqlserver://hostname;database=databasename'--usernameadmin--passwordadmin123--tabletableA这一步一切正常。下一步是创建一个与RDBMS(在

hadoop - 如何更改 hadoop mr 作业中的 reducer 输出文件名?

我有一个reducer脚本需要生成一堆xml文件。我想使用reducer键以编程方式设置文件名。我正在使用MultipleOutputs来完成如下操作。MultipleOutputsmos=newMultipleOutputs(context);mos.write(newText(key),newText(output),key+".xml");但输出文件名类似于key.xml-r-00000。如何从文件名中删除-r-*部分,以便它只是key.xml? 最佳答案 这里的-r-0000表示它是从reducer生成的。我们不能更改它,如

oracle - Sqoop导入作业报错org.kitesdk.data.ValidationException for Oracle

Oracle11g的Sqoop导入作业因错误而失败ERRORsqoop.Sqoop:GotexceptionrunningSqoop:org.kitesdk.data.ValidationException:Datasetname81fdfb8245ab4898a719d4dda39e23f9_C46010.HISTCONTACTisnotalphanumeric(plus'_')完整的命令如下:$sqoopjob--createingest_amsp_histcontact--import--connect"jdbc:oracle:thin:@:/"--username"c46010

java - 如何解决预期的 org.apache.hadoop.io.Text,在 mapreduce 作业中收到 org.apache.hadoop.io.LongWritable

我正在尝试编写一个可以分析来自youtube数据集的一些信息的工作。我相信我已经在驱动程序类中正确地设置了来自map的输出键,但是我仍然遇到上述错误我正在发布代码而这里的异常(exception),映射器publicclassYouTubeDataMapperextendsMapper{privatestaticfinalIntWritableone=newIntWritable(1);privateTextcategory=newText();publicvoidmapper(LongWritablekey,Textvalue,Contextcontext)throwsIOExcep

hadoop - Hadoop 集群环境中的 Mapreduce 作业连接被拒绝

我设置了一个4节点Hadoop集群,其中包含一个主节点和三个数据节点。在我尝试执行mapreduce作业之前,一切似乎都运行良好。Jps(主节点):[root@masterlogs]#jps26967SecondaryNameNode25720JobHistoryServer26778NameNode27115ResourceManager27839JpsJps(数据节点):[root@localhost~]#jps21872DataNode22257Jps21974NodeManagermaster节点上的yarn日志文件给出如下异常:2018-05-2221:59:10,376IN

java - 如何从 Java 运行 MapReduceIndexerTool 作业?

我想从Java运行MapReduceIndexerTool。现在我使用hadoopjar从命令行执行此操作,如您所见here,但我想从Java代码检查它的状态(查看它是否已完成、正在进行等)。所以基本上我想从Java运行它,以便能够从Java检查它的状态。有没有办法从命令行运行它并从Java检查它的状态?此外,还有一种方法可以让MapReduce在作业完成时发送一个事件(例如在回调上)?像webhook之类的东西? 最佳答案 据我所知,Tool接口(interface)仅公开了intrun(String[]args)方法,因此通常您

hadoop - 在两节点 hadoop 集群中运行映射缩减作业时出错 : Too many fetch-failures, 读取任务输出时出错 http://localhost:50060/tasklog

我已经建立了一个双节点hadoop集群。我启动了hadoop文件系统和mapreduceddaemons没有错误,并验证它们正在主从上运行。我可以使用命令bin/hadoopdfs-getmergehdfs://my.domain.com:54310/user/wordcount/sunzi.txt/tmp/wordcount从主节点和从节点读取输入文件。当我运行mapreduce作业时,我在输出中看到错误。作业最终完成,但reduce部分花费了很长时间,并且每次打印错误时它都会继续返回map任务。我的站点配置文件引用了master的dns名称,所以我不知道为什么作业要尝试从“loca

hadoop - Hadoop 集群上的 Hive/Map-Reduce 作业 : How to (roughly) calculate the diskspace needed?

以下用例:我对.gz压缩大小约为500GB的数据运行配置单元查询:selectcount(distinctc1),c2fromt1groupbyc2;此查询产生约2800个映射作业和约400个缩减作业。在设置具有20个实例(每个160GB实例存储)的Hadoop集群时,该工作将停止在97%map和21%reduceprogress,然后回落到94%map和19%reduceprogress,然后就没有任何进展了。我认为这是因为HDFS的磁盘空间已达到使用限制。也许我可以在当天晚些时候提供异常消息。如何:有没有办法根据正在处理的数据的输入大小粗略地预先计算所需的HDFS磁盘空间?请记住,