rdd.mapは以下を与えます:TypeError: 'Row'と 'float'ラムダrdd.mapは次のようになります:TypeError: - 'Row'と 'float'のためのサポートされていないオペランドタイプ
私が使用してデータフレームからRDDを作成します。その後、私は(基本的に私は今、独自のRDDだと思う私の「結果」欄に)その内のすべてのオブジェクト上の計算をしたい
temprdd = df.select('results').rdd
を:
sqrt(temprdd.map(lambda x : pow(x-mean,2)).sum())
しかし、私は得る:
File "/usr/local/src/spark20master/spark/python/pyspark/rdd.py", line 999, in return self.mapPartitions(lambda x: [sum(x)]).fold(0, operator.add) File "", line 7, in TypeError: unsupported operand type(s) for -: 'Row' and 'float'
私の平均はフロートです。私が期待している値はfloatです。私は推測する行として読み取られます。私は間違って何をしていますか?ありがとう。
は、以前設定された変数です。私はそれをハードコードされた '7'でテストし、次に取得します:TypeError: - 'Row'と 'int'のためのサポートされないオペランドタイプ。だから私は問題は、 'x'は私が期待しているのではなく、平均で解決されていないと思う。 '行'は意味をなさない、数値でなければならない。 – amadain