在redshift中,我使用配置单元元存储创建了一个外部模式。我可以看到关于这些表的红移元数据(例如使用:select*from svv\u external\u tables),但是当查询其中一个表时,我得到一个不明确的错误“error:assert”
我尝试创建外部模式并查询表。我可以查询有关表的元数据,但实际上无法查询表本身。
我创建了如下外部模式:
create external schema hive_schema
from hive metastore
database 'my_database_name'
uri 'my_ip_address' port 9083
iam_role 'arn:aws:iam::123456789:role/my_role_name';
下面是运行“select*from hive\u schema.my\u table\u name;”时的错误消息
-----------------------------------------------
error: Assert
code: 1000
context: loc->length() > 5 && loc->substr(0, 5) == "s3://" -
query: 1764
location: scan_range_manager.cpp:221
process: padbmaster [pid=26902]
-----------------------------------------------
1条答案
按热度按时间5fjcxozz1#
什么是
LOCATION
你的 hive table?似乎红移正在确定开始的位置s3://
.你应该看看
LOCATION
通过运行该查询来创建表的:您的配置单元表存储在哪里?可能是hdfs吗?我怀疑redshift是否支持s3以外的任何其他位置—在使用本aws指南的aws glue data catalog时的注意事项一节中,它们描述了如何设置配置单元元存储以在s3中存储数据。