【问题标题】:EMR Hive connect to S3EMR Hive 连接到 S3
【发布时间】:2017-11-27 19:50:27
【问题描述】:

我要疯了。

我正在尝试连接到 Hive 中 S3 上的文件(在 EMR 集群上),但我不断收到错误

hive> CREATE EXTERNAL TABLE s3_table_segments (
    >     ...columns
    > )
    > ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
    > LINES TERMINATED BY '\n'
    > LOCATION 's3://<path>'
    > TBLPROPERTIES ("skip.header.line.count"="1");
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:Unable to create path: s3://<path>)

我一直在关注hereherehere 的建议,而且都是一样的。我是否错过了所有这些文章都忽略的 S3 身份验证?

【问题讨论】:

  • 当然,EMR 节点需要访问 S3 存储桶中的 CSV 文件。这是您通过创建集群时提供的相关 IAM 角色的权限提供的内容。此外,当您将 Hive 表映射到 Amazon S3 中的某个位置时,不要将其映射到存储桶的根路径 s3://mybucket(根据 docs.aws.amazon.com/emr/latest/ReleaseGuide/…)。
  • 您是否更改了 EMR 上的任何默认配置?你对 hive-site.xml 中的 hive.metastore.warehouse.dir 的值是多少?

标签: amazon-web-services hive emr


【解决方案1】:

我刚刚遇到了这个问题。就我而言,该 s3 路径有一个文件和一个名称相同的文件夹。重命名文件(我的意思是文件夹是表的内容)解决了这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    • 2020-05-10
    • 2022-09-28
    • 1970-01-01
    • 2021-11-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多