Amazon web services 使用S3路径的配置单元中“创建表为”的“无法从空字符串创建路径”错误

Amazon web services 使用S3路径的配置单元中“创建表为”的“无法从空字符串创建路径”错误,amazon-web-services,pyspark,hive,aws-glue-data-catalog,aws-glue-spark,Amazon Web Services,Pyspark,Hive,Aws Glue Data Catalog,Aws Glue Spark,我试图在Glue catalog中创建一个表,其中包含使用hive在EMR中运行的spark的s3路径位置。我尝试了以下命令,但出现错误: pyspark.sql.utils.AnalysisException:u'java.lang.IllegalArgumentException:无法从 空字符串;' sparksession.sqlCREATE TABLE如果不存在abc位置“s3://my bucket/test/”作为从my_表中选择* sparksession.sqlCREATE T

我试图在Glue catalog中创建一个表,其中包含使用hive在EMR中运行的spark的s3路径位置。我尝试了以下命令,但出现错误:

pyspark.sql.utils.AnalysisException:u'java.lang.IllegalArgumentException:无法从 空字符串;'

sparksession.sqlCREATE TABLE如果不存在abc位置“s3://my bucket/test/”作为从my_表中选择*

sparksession.sqlCREATE TABLE abc存储为拼花地板位置“s3://my bucket/test/”作为my_TABLE中的select*

sparksession.sqlCREATE TABLE abcas使用拼花地板位置“s3://my bucket/test/”从my_表中选择*


有人可以建议我缺少的参数吗?

如果在没有指定位置的情况下创建数据库,则会出现问题:

CREATE DATABASE db_name;
要解决此问题,请在创建数据库时指定位置:

CREATE DATABASE db_name LOCATION 's3://my-bucket/db_path';
然后,创建一个表:

USE db_name;
CREATE TABLE IF NOT EXISTS abc LOCATION 's3://my-bucket/db_path/abc' as (SELECT * from my_table)

顺便说一句,您不需要路径中的最后一个斜杠。位置's3://我的桶/test'仍然不起作用。错误是一样的