私は、String型の7-8フィールドからなるデータセットを持っています。& Floatです。Spark - 異なるデータ型を使用してプログラムでスキーマを作成する
val schema = StructType(header.split(",").map(column => StructField(column, StringType, true)))
、その後のようなタイプを行にそれをマッピング:
はこれを使って、プログラム的なアプローチにより、スキーマを作成しようとしています
val dataRdd = datafile.filter(x => x!=header).map(x => x.split(",")).map(col => Row(col(0).trim, col(1).toInt, col(2).toFloat, col(3), col(4) ,col(5), col(6), col(7), col(8)))
しかし、私はDF.showを使用するときにデータフレームを作成した後に( )Integerフィールドにエラーが発生します。
それでは、どのデータセットに
ヘッダー文字列はこのようではなく、データは 'dfs8768768、65,76.34,234、dfgdg、34.65 dfs8768768,65,76.34,234、dfgdg、34.65' – AJm
のようになります。ヘッダから知ることは不可能です提供されていないデータの種類。 – elghoto
これはヘッダと正確データである: '競売、入札、bidtime、入札者、bidderrate、openbid、価格、商品、daystolive 8213034715,15,12.373、baman、3,12,20、book1,5 8213034725、 65,21.33、thmpu、2,64,75、watch1,9 8213034735,85,23.3、lovekush、4,45,90、remote1,10 8213034745,115,44.44、jaipanee、3,111,130、s3phone、4' – AJm