Shw*_*eta 5 hadoop amazon-web-services amazon-dynamodb apache-spark
我有一个 DynamoDB 表,我需要连接到 EMR Spark SQL 才能在该表上运行查询。我得到了带有发布标签 emr-4.6.0 和 Spark 1.6.1 的 EMR Spark Cluster。
我指的是文档:Analyze DynamoDB Data with Spark
连接到主节点后,我运行命令:
spark-shell --jars /usr/share/aws/emr/ddb/lib/emr-ddb-hadoop.jar
Run Code Online (Sandbox Code Playgroud)
它发出警告:
Warning: Local jar /usr/share/aws/emr/ddb/lib/emr-ddb-hadoop.jar does not exist, skipping.
Run Code Online (Sandbox Code Playgroud)
后来,当我使用
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
Run Code Online (Sandbox Code Playgroud)
我认为是导致此错误的 jar。我从哪里得到这个 emr-ddb-hadoop.jar?
小智 3
不要使用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
Run Code Online (Sandbox Code Playgroud)
稍后导入DynamoDB输入格式就OK了
import org.apache.hadoop.dynamodb.read.DynamoDBInputFormat
import org.apache.hadoop.dynamodb.write.DynamoDBOutputFormat
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1582 次 |
最近记录: |