4
Я переношу запрос из Hive в SparkSQL, но, столкнувшись с одной проблемой с столбцом Map.столбец sparkSQL Map в группе по условию
Мой запрос
spark.sql(select col1,col2,my_map,count(*) from table group by col1,col2,my_map)
Ошибки я получаю
`my_map` cannot be used as a grouping expression because its data type map<string,string> is not an orderable data type.;
Ключи в my_map всегда различаются. Я пытался использовать устаревший HiveContext, но это не помогло. Есть ли обходной путь для этого?
Спасибо!
группировка по карте кажется довольно деликатной операцией. Вы действительно хотите это сделать? В любом случае, вы можете подумать о нормализации карты перед выполнением этого запроса (особенно если вы ожидаете только нескольких ключей), в противном случае вы должны преобразовать его взад и вперед в другом формате, который можно легко обработать с помощью sql. – Chobeat
@Chobeat Я делаю это в Hive до сих пор. Любая идея, как я мог бы преобразовать его взад и вперед в другом формате? – user100001
список кортежей может быть вариантом, я считаю, что он должен работать. Но будьте осторожны, это действительно близко к грязной работе вокруг – Chobeat