PySpark:无法创建小数据框
PySpark: Cannot create small dataframe
我正在尝试创建一个小数据框,以便我可以保存两个标量(双精度)和一个字符串
来自 How to create spark dataframe with column name which contains dot/period?
from pyspark.sql.types import StructType, StructField, StringType, DoubleType
input_data = ([output_stem, paired_p_value, scalar_pearson])
schema = StructType([StructField("Comparison", StringType(), False), \
StructField("Paired p-value", DoubleType(), False), \
StructField("Pearson coefficient", DoubleType(), True)])
df_compare_AF = sqlContext.createDataFrame(input_data, schema)
display(df_compare_AF)
产生错误信息:
TypeError: StructType can not accept object 's3://sanford-biofx-dev/con/dev3/dev' in type <class 'str'>
这对我来说没有任何意义,此专栏 意味着 用于字符串
我的另一个解决方案来自
columns = ["comparison", "paired p", "Pearson coefficient"]
vals = [output_stem, paired_p_value, scalar_pearson]
df = spark.createDataFrame(vals, columns)
display(df)
但这给出了一个错误:TypeError: Can not infer schema for type: <class 'str'>
我只想要一个小数据框:
comparison | paired p-value | Pearson Coefficient
-------------------------------------------------
s3://sadf | 0.045 | -0.039
解决方案是在 input_data
末尾加上一个神秘的逗号,感谢@10465355 说 Reinstate Monica
来自 pyspark.sql.types 导入 StructType、StructField、StringType、DoubleType
input_data = ([output_stem, paired_p_value, scalar_pearson],)
schema = StructType([StructField("Comparison", StringType(), False), \
StructField("Paired p-value", DoubleType(), False), \
StructField("Pearson coefficient", DoubleType(), True)])
df_compare_AF = sqlContext.createDataFrame(input_data, schema)
display(df_compare_AF)
我不明白为什么这个逗号是必要的,或者它的作用,但它似乎可以完成工作
我正在尝试创建一个小数据框,以便我可以保存两个标量(双精度)和一个字符串
来自 How to create spark dataframe with column name which contains dot/period?
from pyspark.sql.types import StructType, StructField, StringType, DoubleType
input_data = ([output_stem, paired_p_value, scalar_pearson])
schema = StructType([StructField("Comparison", StringType(), False), \
StructField("Paired p-value", DoubleType(), False), \
StructField("Pearson coefficient", DoubleType(), True)])
df_compare_AF = sqlContext.createDataFrame(input_data, schema)
display(df_compare_AF)
产生错误信息:
TypeError: StructType can not accept object 's3://sanford-biofx-dev/con/dev3/dev' in type <class 'str'>
这对我来说没有任何意义,此专栏 意味着 用于字符串
我的另一个解决方案来自
columns = ["comparison", "paired p", "Pearson coefficient"]
vals = [output_stem, paired_p_value, scalar_pearson]
df = spark.createDataFrame(vals, columns)
display(df)
但这给出了一个错误:TypeError: Can not infer schema for type: <class 'str'>
我只想要一个小数据框:
comparison | paired p-value | Pearson Coefficient
-------------------------------------------------
s3://sadf | 0.045 | -0.039
解决方案是在 input_data
末尾加上一个神秘的逗号,感谢@10465355 说 Reinstate Monica
来自 pyspark.sql.types 导入 StructType、StructField、StringType、DoubleType
input_data = ([output_stem, paired_p_value, scalar_pearson],)
schema = StructType([StructField("Comparison", StringType(), False), \
StructField("Paired p-value", DoubleType(), False), \
StructField("Pearson coefficient", DoubleType(), True)])
df_compare_AF = sqlContext.createDataFrame(input_data, schema)
display(df_compare_AF)
我不明白为什么这个逗号是必要的,或者它的作用,但它似乎可以完成工作