2017-11-29 2 views
-3

に浮いているように私の火花RDDこのとValueError:Pyspark

totalDistance=flightsParsed.map(lambda x:x.distance) 
totalDistance.take(5) 


[1979.0, 640.0, 1947.0, 1590.0, 874.0] 

のようになりますが、私はそれを減らす実行すると

totalDistance=flightsParsed.map(lambda x:x.distance).reduce(lambda y,z:y+z) 

ValueError: could not convert string to float:

下に述べたように、私はエラーを取得した文字列を変換することができませんでした助けてください。

+2

内のデータが欠落したり、矛盾している可能性があり(https://stackoverflow.com/questions/44950532/pyspark-valueerror-could-not-convert-string-to-float-invalid-literal-for-fl)[are](https://stackoverflow.com/questions/32098641/valueerror-could-not-convert-string -to-float)[複数](https://stackoverflow.com/questions/36113328)/python-pyspark-error-valueerror-could-not-convert-string-to-float-17)同様の質問です。私はこれらを最初に読んで、あなたのデータが入って来ることを確認したり、算術の前に浮動小数点としてキャストしたりすることをお勧めします。 – Zooby

答えて

0

あなたがしようとしました:

totalDistance=flightsParsed.map(lambda x: int(x.distance or 0)) 

または

totalDistance=flightsParsed.map(lambda x: float(x.distance or 0)) 

あなたは[あり] flightsParsed