Presto map<varchar,set<varchar>> : 如何在 presto 中查询 map<varchar,set<varchar>>

Posted

技术标签:

【中文标题】Presto map<varchar,set<varchar>> : 如何在 presto 中查询 map<varchar,set<varchar>> 类型的字段【英文标题】:Presto map<varchar,set<varchar>> : How to query a field in presto which is of type map<varchar,set<varchar>> 【发布时间】:2019-12-17 10:35:04 【问题描述】:

我正在尝试搜索数据类型为 map&lt;varchar,set&lt;varchar&gt;&gt; 的列。我不断收到Query failed (#20190809_163618_00200_yyc4a) in your-presto: null 任何帮助表示赞赏。

以下查询运行良好

SELECT event_type_id FROM cassandra.data_integration_hub.my_table WHERE event_type_id = 123 limit 5 

当我添加 business_keys 字段时,查询失败

SELECT event_type_id,business_keys FROM cassandra.data_integration_hub.my_table WHERE event_type_id = 123 limit 5 

business_keys 的类型

输入:map&lt;varchar,set&lt;varchar&gt;&gt;

样本值:


  "rule_id" : [ "12345" ]

【问题讨论】:

听起来像是 Cassandra 连接器中的错误。可以在github.com/prestosql/presto/issues 提交完整堆栈跟踪的问题吗?另外,也许可以在 Slack 上提问:prestosql.io/community.html 【参考方案1】:

Query failed (#20190809_163618_00200_yyc4a) in your-presto: null -- 这是 Cassandra 连接器报告“不支持列类型”的(奇怪)方式。

从那时起,我们改进了错误报告并扩展了对 Cassandra 连接器中某些类型的支持。请尝试 Presto 317 或 Starburst Presto 312e。

【讨论】:

以上是关于Presto map<varchar,set<varchar>> : 如何在 presto 中查询 map<varchar,set<varchar>> 的主要内容,如果未能解决你的问题,请参考以下文章

在 athena/presto 中将数组(varchar)转换为 varchar

在 Athena/Presto 中将 JSON 转换为 ARRAY<MAP>

presto 从 varchar 列表中过滤项目

在 Presto 中将存储为 INT 的时间转换为 VARCHAR

如何在 Presto Athena 中将 varchar 转换为数组

横向视图快速爆炸