Hive / S3错误:“No FileSystem for scheme:s3”

问题描述 投票:0回答:1

我在我的本地计算机上从容器(此图像: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/';

但是,我收到以下错误:

FAILED:执行错误,从org.apache.hadoop.hive.ql.exec.DDLTask返回代码1。 MetaException(消息:异常:java.io.IOException没有用于scheme的文件系统:s3)

是什么造成的?我需要设置其他东西吗?

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

amazon-web-services amazon-s3 hive
1个回答
1
投票

这里讨论的问题。

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

您需要将aws sdk jar的引用添加到hive库路径。这样它就可以识别文件方案,

应变,容量,容量

希望能帮助到你。

EDIT1

hadoop-aws-2.7.4具有如何与这些文件系统交互的实现。验证jar它具有处理这些模式的所有实现。

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

下面的类是在jar中实现的,

org.apache.hadoop.fs。[S3 | S3A | s3native]

唯一仍然缺少的是,库没有被添加到hive库路径。无论如何,您是否可以验证路径是否已添加到配置单元库路径?

Aaditi:

参考库路径设置,

How can I access S3/S3n from a local Hadoop 2.6 installation?

© www.soinside.com 2019 - 2024. All rights reserved.