我有一个DynamoDB表,需要连接到EMR Spark SQL才能在该表上运行查询。我得到了EMR Spark Cluster,上面有版本标签emr-4.6.0和Spark 1.6.1。
我指的是文档:Analyse DynamoDB Data with 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?
发布于 2016-05-11 14:54:35
不要使用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输入格式
import org.apache.hadoop.dynamodb.read.DynamoDBInputFormat
import org.apache.hadoop.dynamodb.write.DynamoDBOutputFormat发布于 2016-05-24 05:24:50
此问题的根本原因是emr-ddb-hadoop.jar在环境(或指定的位置)中不可用。为了安装dynamo DB库,在创建spark EMR集群时,必须选择Hadoop2.7.2以及您感兴趣的应用程序。是你选的吗?
如果没有启动新集群,请转到高级选项,并确保Hadoop 2.7.2与其他应用程序一起被选中。
发布于 2017-02-02 00:17:03
事实上,在电子病历发布时,/usr/share/aws/emr/ddb/lib/emr-ddb-hadoop.jar将不复存在。您应该首先安装必要的bigtop包:
sudo yum install -y /var/aws/emr/packages/bigtop/emr-ddb/noarch/emr-ddb-hadoop-3.0.0-1.amzn1.noarch.rpm
请注意,可能存在另一个软件包版本-请检查/var/aws/emr/packages/bigtop/emr-ddb/noarch/目录的内容。
https://stackoverflow.com/questions/37060243
复制相似问题