如何解决使用S3路径的配置单元中“无法从空字符串创建路径”错误
我正在尝试使用Hive在EMR中运行的spark中的s3路径位置在glue目录中创建一个表。我尝试了以下命令,但收到错误消息:
pyspark.sql.utils.AnalysisException:u'java.lang.IllegalArgumentException:无法从路径创建路径 空字符串;'
sparksession.sql("CREATE TABLE IF NOT EXISTS abc 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 abcas SELECT * from my_table USING PARQUET LOCATION 's3://my-bucket/test/'")
有人可以建议我缺少的参数吗?
解决方法
在没有指定位置的情况下创建数据库时会发生此问题:
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)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。