Amazon dynamodb 通过运行在EMR上的PySpark中的Glue数据目录访问DynamoDB时,绝对URI异常中的相对路径

Amazon dynamodb 通过运行在EMR上的PySpark中的Glue数据目录访问DynamoDB时,绝对URI异常中的相对路径,amazon-dynamodb,pyspark-sql,amazon-emr,spark-hive,aws-glue-data-catalog,Amazon Dynamodb,Pyspark Sql,Amazon Emr,Spark Hive,Aws Glue Data Catalog,我正在AWS EMR上执行pyspark应用程序,该应用程序配置为使用AWS Glue数据目录作为元存储。我在AWS Glue中有一个指向DynamoDB表的表设置。现在在我的pyspark脚本中,我正在尝试访问胶水表。我能做显示表格并能看到粘合表格。但当我试图查询表时,我得到了以下异常 pyspark.sql.utils.AnalysisException:u'java.lang.IllegalArgumentException:java.net.URISyntaxException:绝对UR

我正在AWS EMR上执行pyspark应用程序,该应用程序配置为使用AWS Glue数据目录作为元存储。我在AWS Glue中有一个指向DynamoDB表的表设置。现在在我的pyspark脚本中,我正在尝试访问胶水表。我能做
显示表格
并能看到粘合表格。但当我试图查询表时,我得到了以下异常

pyspark.sql.utils.AnalysisException:u'java.lang.IllegalArgumentException:java.net.URISyntaxException:绝对URI中的相对路径:arn:aws:dynamodb:::table/DDBTABLE;'

pyspark脚本中的我的查询:

spark.sql(“从ddbtable中选择*).show()


在这方面找不到任何好的参考资料。我看到人们在谈论spark.sql.warehouse.dir的问题。但不确定它与glue数据目录的关系。任何输入?

联系了AWS技术人员,显然这是EMR(从5.23.0开始)在使用Glue数据目录和访问连接到DynamoDB的Glue表时的问题。他们仍在进行这方面的工作,同时提供了以下解决方法

编辑粘合表的属性文件以包括以下内容:

将:位置属性更新为某个伪S3位置,使其采用-S3://伪路径的形式

添加:在参数下添加DynamoDB的特定信息

"dynamodb.table.name": "ddb-table",
"dynamodb.column.mapping": "col:col",
"storage_handler": "org.apache.hadoop.hive.dynamodb.DynamoDBStorageHandler"
有关更新胶水表的信息,请参阅