Я пытаюсь заменить groupByKey()
на reudceByKey()
, я новичок в pyspark и python, и мне сложно определить лямбда-функцию для операции reduceByKey()
.
Вот код
dd = hive_context.read.orc(orcfile_dir).rdd.map(lambda x: (x[0],x)).groupByKey(25).take(2)
Вот возвращаемое значение
>>> dd
[(u'KEY_1', <pyspark.resultiterable.ResultIterable object at 0x107be0c50>), (u'KEY_2', <pyspark.resultiterable.ResultIterable object at 0x107be0c10>)]
и вот повторяющееся содержимое dd[0][1]
Row(key=u'KEY_1', hash_fn=u'deec95d65ca6b3b4f2e1ef259040aa79', value=u'e7dc1f2a')
Row(key=u'KEY_1', hash_fn=u'f8891048a9ef8331227b4af080ecd28a', value=u'fb0bc953')
....
...
Row(key=u'KEY_1', hash_fn=u'1b9d2bb2db28603ff21052efcd13f242', value=u'd39714d3')
Row(key=u'KEY_1', hash_fn=u'c41b0269706ac423732a6bab24bf8a6a', value=u'ab58db92')
Мой вопрос: как заменить reduceByKey()
и получить тот же результат, что и выше?
@JoelBerkeley спасибо, что указали на это. да это опечатка. Исправляем это сейчас
ваш первый replaceByKey должен быть reduceByKey?