Я пытаюсь запросить представление Hive с помощью Redshift Spectrum, но оно дает мне такую ошибку:
SQL Error [500310] [XX000]: [Amazon](500310) Invalid operation: Assert
Details:
-----------------------------------------------
error: Assert
code: 1000
context: loc->length() > 5 && loc->substr(0, 5) == "s3://" -
query: 12103470
location: scan_range_manager.cpp:272
process: padbmaster [pid=1769]
-----------------------------------------------;
Возможно ли запросить представления Hive из Redshift Spectrum? Я использую Hive Metastore (не Glue Data Catalog).
Я хотел иметь представление для ограничения доступа к исходной таблице с ограниченным набором столбцов и разделов. А также потому, что в моей исходной таблице (данные Parquet) есть несколько полей Map, поэтому я хотел сделать что-то подобное, чтобы упростить запрос из Redshift, так как с полями Map немного сложнее работать в Redshift:
CREATE view my_view AS
SELECT event_time, event_properties['user-id'] as user_id, event_properties['product-id'] as product_id, year, month, day
FROM my_events
WHERE event_type = 'my-event' -- partition
Я могу запросить таблицу my_events из Spectrum, но это беспорядок, потому что свойства - это поле карты, а не структура, поэтому мне нужно как-то разбить ее на несколько строк в Redshift.
Спасибо