scala写MR作业时,出现容器启动失败container lunch failed

使用scala写MapReduce作业代码,在运行时出现错误:

14/03/21 17:49:43 INFO mapreduce.Job: Job job_1395395314485_0001 failed with state FAILED due to: Application application_1395395314485_0001 failed 2 times due to AM Container for appattempt_1395395314485_0001_000002 exited with  exitCode: 1 due to: Exception from container-launch: 
org.apache.hadoop.util.Shell$ExitCodeException: 
at org.apache.hadoop.util.Shell.runCommand(Shell.java:458)
at org.apache.hadoop.util.Shell.run(Shell.java:373)
at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:578)
at org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor.launchContainer(DefaultContainerExecutor.java:208)
at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.Container

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Scala是一种强大的编程语言,它支持读各种数据格式,包括tfrecord。tfrecord是一种用于存储大型数据集的二进制文件格式,被广泛用于训练深度学习模型。 要在Scala中读取tfrecord文件,我们可以使用TensorFlow的Scala API。首先,我们需要导入必要的依赖项,包括TensorFlow和相关的Scala库。 ```scala import org.tensorflow._ import org.tensorflow.example._ ``` 然后,我们可以使用TensorFlow的`TFRecordReader`类来读取tfrecord文件。首先,创建一个`TFRecordReader`对象,并指定要读取的文件路径。 ```scala val reader = new TFRecordReader() reader.initialize(new TFRecordReader.Options().setInputFiles("path/to/tfrecord/file.tfrecord")) ``` 接下来,我们可以使用`reader.getNext`方法逐个读取tfrecord文件中的记录,并将其转换为TensorFlow的`Example`对象。 ```scala var record = reader.getNext() while (record != null) { val example = Example.parseFrom(record.toByteArray()) // 对Example对象进行处理,例如打印其中的特征值 println(example.getFeatures) // 读取下一个记录 record = reader.getNext() } ``` 类似地,在Scala入tfrecord文件也非常简单。我们可以使用TensorFlow的`TFRecordWriter`类来创建一个tfrecord文件,并将数据入其中。 ```scala import java.nio.file.Files import java.nio.file.Paths // 创建一个tfrecord文件的输出流 val writer = new TFRecordWriter(Files.newOutputStream(Paths.get("path/to/output.tfrecord"))) // 创建一个Example对象,添加特征并入文件 val exampleBuilder = Example.newBuilder() exampleBuilder.getFeaturesBuilder().putFeature("feature_key", Feature.newBuilder().setInt64List(Int64List.newBuilder().addValue(1)).build()) writer.write(exampleBuilder.build().toByteArray()) // 关闭输出流 writer.close() ``` 在这个示例中,我们创建了一个`TFRecordWriter`对象,并指定了要入的tfrecord文件的路径。然后,我们创建一个`Example`对象,并使用`exampleBuilder`设置了一个特征。最后,我们通过调用`write`方法将`Example`对象入tfrecord文件,并通过调用`close`方法关闭输出流。 通过使用TensorFlow的Scala API,我们可以很容易地读tfrecord文件,并在Scala中处理大型数据集。 Scala 提供了丰富的库和功能,使得读tfrecord文件变得非常方便和高效。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值