“无法从空字符串创建路径”错误,原因是“在使用s3路径的配置单元中创建表为”

dtcbnfnu  于 2021-06-24  发布在  Hive
关注(0)|答案(1)|浏览(319)

我试图在glue catalog中创建一个表,其中包含使用hive在emr中运行的spark的s3路径位置。我尝试了以下命令,但出现错误:
pyspark.sql.utils.analysisexception:u'java.lang.illegalargumentexception:无法从空字符串创建路径;' sparksession.sql("CREATE TABLE IF NOT EXISTS LOCATION 's3://my-bucket/test/' as (SELECT * from my_table)") sparksession.sql("CREATE TABLE abcSTORED AS PARQUET LOCATION 's3://my-bucket/test/' AS select * from my_table") sparksession.sql("CREATE TABLE as SELECT * from my_table USING PARQUET LOCATION 's3://my-bucket/test/'") 有人能告诉我我缺少的参数吗?

o0lyfsai

o0lyfsai1#

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

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)

相关问题