我正试图通过hive
上的hue
在AWS EMR
创建外部表格
CREATE EXTERNAL TABLE IF NOT EXISTS urls (
id STRING,
`date` TIMESTAMP,
url STRING,
expandedUrl STRING,
domain STRING
)
PARTITIONED BY (`year` INT, `month` INT, `day` INT)
STORED AS PARQUET LOCATION 's3://data/processed/urls/'
EMR
群集(emr-5.4.0)。Hue
SQL
在Metastore Manager中,我收到以下错误:
无法访问:s3:// data / processed / urls /。注意: 你是Hue管理员但不是HDFS超级用户," hdfs"或HDFS的一部分 超群," hadoop"。
[Errno 22]未知方案s3,可用方案:[' hdfs']
我也无法在文件管理器下看到s3。 我可以使用CLI工具从主节点访问s3。
群集创建中是否缺少任何配置选项? 我是否需要为Hue用户授予其他权限?
更新
我已经尝试过创建一个hdfs用户和一个新数据库,正如franklinsijo建议的那样。
我现在在数据库上遇到同样的错误:
无法访问:s3://数据/已处理。
[Errno 22]未知方案s3,可用方案:[' hdfs']
当"创建数据库" SQL是从我获得的配置单元CLI运行"访问被拒绝"
我使用的EMR_DefaultRole
同时包含AmazonElasticMapReduceRole
和AmazonS3FullAccess
更新2
我在franklinsijo的帮助下完成了这个问题
hive cli
和hue
上创建s3上的数据库和表格。S3 Browser
答案 0 :(得分:1)
[Errno 22]未知方案s3,可用方案:['hdfs']
这是因为Hive的default
数据库位置设置为HDFS(请参阅here)。使用S3位置创建一个新的Hive数据库。
CREATE DATABASE database_name LOCATION 'S3://Bucket/Key';
然后在这个新创建的数据库中创建表。
无法访问:s3:// data / processed / urls /。注意:您是Hue管理员 但不是HDFS超级用户,“hdfs”或HDFS超级组的一部分,“hadoop”。
在Hue UI中创建一个名为hdfs
的具有超级用户状态的新Hue用户。以hdfs
用户身份登录以执行查询。