2017-07-14 6 views
0

次のコードでPySparkを使用している場合:PySpark:例外TypeError:StructTypeはタイプでオブジェクト0.10000000000000001を受け入れることはできません。<型 'numpy.float64'>

from pyspark.sql.types import * 
samples = np.array([0.1,0.2]) 
dfSchema = StructType([StructField("x", FloatType(), True)]) 
spark.createDataFrame(samples,dfSchema) 

私が手:

TypeError: StructType can not accept object 0.10000000000000001 in type type 'numpy.float64'>

任意のアイデア?

答えて

2

numpy.float64を含むNumPyタイプは、Spark SQLタイプの有効な外部表現ではありません。さらに、使用するスキーマにはデータの形が反映されません。

あなたは、標準のPythonの型を使用する必要があり、直接DataType対応:

spark.createDataFrame(samples.tolist(), FloatType()).toDF("x") 
関連する問題