繁体   English   中英

TypeError在Pyspark中将Pandas数据框转换为Spark数据框

[英]TypeError converting a Pandas Dataframe to Spark Dataframe in Pyspark

我做了研究,但没有找到任何东西。 我想将简单的pandas.DataFrame转换为spark数据pandas.DataFrame ,如下所示:

df = pd.DataFrame({'col1': ['a', 'b', 'c'], 'col2': [1, 2, 3]})
sc_sql.createDataFrame(df, schema=df.columns.tolist()) 

我得到的错误是:

TypeError: Can not infer schema for type: <class 'str'>

我尝试了一些更简单的方法:

df = pd.DataFrame([1, 2, 3])
sc_sql.createDataFrame(df)

我得到:

TypeError: Can not infer schema for type: <class 'numpy.int64'>

有什么帮助吗? 是否需要手动指定架构?

sc_sqlpyspark.sql.SQLContext ,我在python 3.4和spark 1.6上的jupyter笔记本中。

谢谢!

它与您的spark版本有关,最新的spark更新使类型推断更加智能。 您可以通过添加以下模式来解决此问题:

mySchema = StructType([ StructField("col1", StringType(), True), StructField("col2", IntegerType(), True)])
sc_sql.createDataFrame(df,schema=mySchema)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM