模糊错误

vulvrdjw  于 2021-06-24  发布在  Hive
关注(0)|答案(1)|浏览(331)

在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]
  -----------------------------------------------
5fjcxozz

5fjcxozz1#

什么是 LOCATION 你的 hive table?似乎红移正在确定开始的位置 s3:// .
你应该看看 LOCATION 通过运行该查询来创建表的:

select location from SVV_EXTERNAL_TABLES

您的配置单元表存储在哪里?可能是hdfs吗?我怀疑redshift是否支持s3以外的任何其他位置—在使用本aws指南的aws glue data catalog时的注意事项一节中,它们描述了如何设置配置单元元存储以在s3中存储数据。

相关问题