SparkのreduceByKey/groupByKey関数の使用に問題があります。Spark reducebykey - 要素の最小リスト
Iフォーム(datetime, [a1, b1, c1, d1]), (datetime, [a2, b2, c2, d2]) ...
一対のRDD Iを有するグループにキー(ここでは同じ日時)によってそれらの要素を、要素ごとの最小値のリストに対応する出力値を取得したいです。私の例では
出力は次のようになります。
(datetime, [min(a1,a2), min(b1,b2), min(c1,c2), min(d1,d2)])
私が試してみた:
reduceByKey(lambda (a, b): [min(x) for x in zip(a, b)])
が、失敗したこれまでのところ。
ありがとうございます。
あなたの試みは一見OKに見えます。 _unsuccessfully_とはどういう意味ですか? – zero323
上記を試したときに 'TypeError:()が正確に1引数(2与えられた)'エラーを返しました。ラムダオブジェクト(a、b)のかっこを取り除いて動作しているように思えますが、なぜか理解できないようです...とにかくありがとう! –
PMarshall
ああ、括弧が欠けていました。 'lambda a、b:zip(a、b)のxに対して[min(x)] 'を使ってください。 – zero323