配置单元/S3 错误:"No FileSystem for scheme: s3"



我正在从本地计算机中的容器(此图像:https://hub.docker.com/r/bde2020/hive/(运行Hive。

我正在尝试使用以下命令创建一个在 S3 中存储为 CSV 的 Hive 表:

CREATE EXTERNAL TABLE local_test (name STRING)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LINES TERMINATED BY 'n'
STORED AS TEXTFILE LOCATION 's3://mybucket/local_test/';

但是,我收到以下错误:

失败:执行错误,从 org.apache.hadoop.hive.ql.exec.DDLTask 返回代码 1。MetaException(message:Got exception: java.io.IOException No FileSystem for scheme: s3(

是什么原因造成的?我需要设置其他内容吗?

注意:我能够运行aws s3 ls mybucket,也可以在另一个目录中创建 Hive 表,例如 /tmp/ .

这里讨论的问题。

https://github.com/ramhiser/spark-kubernetes/issues/3

您需要将对 aws 开发工具包jar 的引用添加到配置单元库路径。这样它就可以识别文件方案,

S3、S3N 和 S3A

希望对您有所帮助。

编辑1:

Hadoop-AWS-2.7.4 具有有关如何与这些文件系统交互的实现。验证 jar 时,它拥有处理这些架构的所有实现。

org.apache.hadoop.fs 告诉 Hadoop 查看它需要查看哪个文件系统实现。

下面的班级被装在那些罐子里,

org.apache.hadoop.fs.[S3|S3A|S3本机]

唯一仍然缺少的是,库没有添加到 Hive 库路径中。无论如何,您可以验证路径是否已添加到 Hive 库路径?

编辑2:

参考库路径设置,

如何从本地 Hadoop 2.6 安装访问 S3/S3n?

最新更新