2016-07-13 7 views

ответ

1

попробовать что-то вроде этого:

val map1: Map[(String, String),Int] 
val map2: Map[String, String] = map1.keySet.toMap 

.keySet отбрасывает Int и превращает ваш Map[(String, String),Int] в Set[(String,String)], который затем вы можете легко конвертировать в Map по телефону toMap.

+0

Я делаю это в искры, используя scala, ваш пример дал мне идею по крайней мере, как туда поступить, спасибо :) – Anand

+0

Если вы расширите свой вопрос, я также могу добавить более подробные сведения к моему ответу :) Тогда мы также можем помочь люди, которые могут столкнуться с этой проблемой в будущем! –

+0

http://stackoverflow.com/questions/38333479/exception-org-apache-spark-rdd-rddscala-collection-immutable-mapstring-any после получения указателя, я могу разделить желаемую карту, используя нижеприведенный код : topCounts60.foreachRDD (РДД => { для (п <- rdd.keys.collect() ToArray) { Println (пункт); } .}) – Anand

1

(Map(UserLang -> en, UserName -> a),1) есть тип (Map[String,String], Int) и не Map[(String,String),Int] как указано в названии вопроса.

Для первого попробуйте map(_._1). Для последней попробуйте keys.toMap.

Смежные вопросы