【问题标题】:Getting emr-ddb-hadoop.jar to connect DynamoDB with EMR Spark获取 emr-ddb-hadoop.jar 以将 DynamoDB 与 EMR Spark 连接
【发布时间】:2016-08-31 19:27:27
【问题描述】:

我有一个 DynamoDB 表,我需要将其连接到 EMR Spark SQL 以在该表上运行查询。我得到了带有发布标签 emr-4.6.0 和 Spark 1.6.1 的 EMR Spark 集群。

我指的是文档: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?

【问题讨论】:

    标签: hadoop amazon-web-services apache-spark amazon-dynamodb


    【解决方案1】:

    不要使用 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
    

    【讨论】:

    • 如果有人想知道,通常所说的配置文件的位置是 /etc/spark/conf/spark-defaults.conf
    【解决方案2】:

    这个问题的根本原因是环境(或者指定的位置)没有emr-ddb-hadoop.jar。为了安装 dynamo DB 库,您必须在创建 spark EMR 集群时选择 Hadoop 2.7.2 以及您感兴趣的应用程序。你选了吗?

    如果不启动新集群,请转到高级选项并确保选择 Hadoop 2.7.2 以及其他应用程序。

    【讨论】:

      【解决方案3】:

      确实,/usr/share/aws/emr/ddb/lib/emr-ddb-hadoop.jar 在 EMR 启动时将不存在。你应该先安装必要的 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/ 目录的内容。

      【讨论】:

        猜你喜欢
        • 2020-05-10
        • 2017-12-01
        • 1970-01-01
        • 1970-01-01
        • 2015-11-20
        • 2018-07-04
        • 2016-07-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多