获取 emr-ddb-hadoop.jar 将 DynamoDB 与 EMR Spark 连接

2024-05-08

我有一个 DynamoDB 表,需要将其连接到 EMR Spark SQL 才能对该表运行查询。我获得了带有发行标签 emr-4.6.0 和 Spark 1.6.1 的 EMR Spark Cluster。

我指的是文档:使用 Spark 分析 DynamoDB 数据 https://blogs.aws.amazon.com/bigdata/post/Tx1G4SQRV049UL0/Analyze-Your-Data-on-Amazon-DynamoDB-with-Apache-Spark

连接到主节点后,我运行命令:

spark-shell --jars /usr/share/aws/emr/ddb/lib/emr-ddb-hadoop.jar

它给出了一个警告:

Warning: Local jar /usr/share/aws/emr/ddb/lib/emr-ddb-hadoop.jar does not exist, skipping.

稍后,当我使用以下命令导入 DynamoDB 输入格式时

import org.apache.hadoop.dynamodb.read.DynamoDBInputFormat import org.apache.hadoop.dynamodb.write.DynamoDBOutputFormat

它给出了错误:

 error: object dynamodb is not a member of package org.apache.hadoop
     import org.apache.hadoop.dynamodb.read.DynamoDBInputFormat
 error: object dynamodb is not a member of package org.apache.hadoop
     import org.apache.hadoop.dynamodb.write.DynamoDBOutputFormat

我认为是 jar 导致了这个错误。从哪里获取这个 emr-ddb-hadoop.jar?


不要使用spark-shell --jars,spark-default.cnf中的配置:

spark.driver.extraClassPath  /usr/share/aws/emr/ddb/lib/emr-ddb-hadoop.jar
spark.executor.extraClassPath /usr/share/aws/emr/ddb/lib/emr-ddb-hadoop.jar

稍后导入DynamoDB输入格式就OK了

import org.apache.hadoop.dynamodb.read.DynamoDBInputFormat
import org.apache.hadoop.dynamodb.write.DynamoDBOutputFormat
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

获取 emr-ddb-hadoop.jar 将 DynamoDB 与 EMR Spark 连接 的相关文章

随机推荐