2017-01-14 16 views
0

私はPySparkを学習していて、 "string"の列を数値に変換する問題に遭遇しました。私は周りを探索しましたが、解決策を見つけることができませんでした。助けてください。文字列を数値に変換する - jsonファイルのPySpark操作

私は、次の2つのコマンドを実行することができました:

人= sqlContext.read.json( "C:\ wdchentxt \ People2.json") people.select( '名前'、people.age +を1).show()

しかし、「年齢」は「数値列ではない」ため、次のエラーが発生しました。 年齢列を文字列から数値に変換する方法は? people.age + 1が成功したので、

people.groupBy( '​​性別')。合計( '年齢')。ショー()

私は特に混乱していました。ありがとう!

答えて

0

JSONファイルの例はありますか?

あなたのコードに似ているので、このドキュメントは、役に立つことがあります。 https://spark.apache.org/docs/1.6.0/sql-programming-guide.html

+0

私のjsonファイル(スペースを節約するための最初の行のみ){"名前": "バークス"、 "性別": "男性"、 "deptid": "100"、 "年齢": "26" "salary": "2700"}ありがとう! – user281707

0

あなたはpysparkのデータフレームに

df.select('gender',df.age.cast('int').alias('age')).groupBy('gender').sum('age').show() 

をキャスト機能を使用することができますが、それはあなたを助け願っています。

+0

ありがとうございます!これは私が思ったよりもはるかに関与しています。次の行が正しく機能する理由を知っていますか? people.select( 'name'、people.age + 1).show()。ここでpeople.ageに1を加えることができれば、数値でなければなりません。 – user281707

関連する問題