当前位置: 首页 > 知识库问答 >
问题:

EMR dyanmodb导出失败,因为表容量设置为按需

燕俊明
2023-03-14

在我们将dynamodb表容量更改为on-demand后,导出dynamodb表的数据管道作业失败,并出现此错误。

Exception in thread "main" java.lang.RuntimeException: Read throughput should not be less than 1. Read throughput percent: 0.0
at org.apache.hadoop.dynamodb.read.AbstractDynamoDBInputFormat.getSplits(AbstractDynamoDBInputFormat.java:51)
at org.apache.hadoop.mapreduce.JobSubmitter.writeOldSplits(JobSubmitter.java:520)
at org.apache.hadoop.mapreduce.JobSubmitter.writeSplits(JobSubmitter.java:512)
at org.apache.hadoop.mapreduce.JobSubmitter.submitJobInternal(JobSubmitter.java:394)

这个问题有解决办法吗?

谢谢

--gsu

共有2个答案

富建章
2023-03-14

如果问题没有解决,那么您可能需要在3个地方进行更改:

  1. 您需要使用emr releaseemr-5.26.0emr-5.30.0
  2. org.apache.hadoop.dynamodb.tools.DynamoDbExport替换为org.apache.hadoop.dynamodb.tools.DynamoDbExport。注意套管的变化。类似于DynamoDBImport。
  3. 如果您使用的是emr dynamodb连接器,则需要克隆其最新版本,通过mvn clean install生成emr ddb工具jar,然后将生成的jar用于emr dynamodb工具,当前版本为4或更高版本,并将其替换为参数。这些应该可以解决问题

此外,如果您使用的是emr dynamodb工具,则当前emr版本31或更高版本存在一个问题,它显示了与某些joda time框架相关的错误。我将限制使用emr-5.26.0emr-5.30.0之间的任何版本。

高博涉
2023-03-14

我会联系AWS支持部门进行确认,但有人告诉我,EMR DynamoDB连接器尚未正式支持使用按需资源调配的表。因此,您很可能需要将表切换回配置的容量作为一种解决方法。

编辑:截至2019年1月23日,DynamoDB的EMR连接器支持将表设置为按需计费。

 类似资料:
  • 我向Kafka传达的信息如下: 我有自己的MyMessage自定义解/序列化程序,关键字是一个简单的字符串

  • 问题内容: 无法找出合适的标题,我不理解破折号/重击的行为。也就是说,如果命令失败,我将使用set -e来纾困,并使用命令组来处理肯定的结果。 即。总体方案是: 比意味着仅在需要时才执行命令,并且失败将自动终止脚本。 可能需要一些后处理,在这种情况下,我使用以下方法: 这导致了一些奇怪的bug搜寻,因为这 不会杀死shell, 而我也无法理解原因。我现在必须遍历一些shell代码,但想了解原因。

  • Jenkins将良好的构建标记为失败,因为某些单元测试失败。如果我在没有单元测试的情况下运行构建,我将获得构建成功状态。如何配置Jenkins来执行以下操作:

  • 我的项目成功运行,但当我导出apk时,它在Prograd项目中崩溃了。文本 但错误 致命异常:AsyncTask#1 java。lang.RuntimeException:在android上执行doInBackground()时出错。操作系统。异步任务3美元。在java上完成(AsyncTask.java:299)。util。同时发生的未来任务。在java上完成(FutureTask.java:3

  • iPhone SE 11.2.6 Xcode 9.3.1 我读到通常是由使用免费帐户引起的,但我正在为我们的开发团队使用。 来自此站点的此命令对我不起作用: 此命令不起作用,在我为手机的UID更改id之前和之后都不起作用。我得到了错误: 选项'Destination'至少需要一个形式为'key=value'的参数