我正在尝试使用以下代码将我的pandas数据帧转换为spark 2.0数据帧:
spark_df= sqlContext.createDataFrame(pandas_df)
我有几个问题:
答案 0 :(得分:1)
为什么要从这种大小的pandas DF创建Spark DF。它没有任何意义。这是一个巨大的开销,因为你通过pandas DF将数据加载到内存中,然后再加载到Spark中。不确定您的设置如何像内存,群集大小等,但如果您在本地计算机上,这可能会耗尽您的记忆。
我的建议,因为pandas DF有一个关系格式,我想你是从csv文件(或任何其他像tsv等)创建你的DataFrame。更好的解决方案是通过DataFrameReader
将其直接加载到Spark DataFrame中。您也可以传递架构,然后加载甚至会更快。