Databricks中Spark DataFrame转Pandas触发ValueError错误求助
问题解决
错误根因
你遇到的报错本质是类型不匹配:你通过spark.read.load()读取得到的ownr是Spark DataFrame对象,Pandas的DataFrame()构造函数没有适配该类型的输入参数,和你字段的类型是否为字符串没有关联。
修复方案
直接调用Spark DataFrame自带的toPandas()方法即可完成转换,不需要手动调用pd.DataFrame()构造,将你创建df1的代码替换为以下内容即可:
df1 = ownr.toPandas()
额外优化建议
- 读取csv文件时如果你的源文件包含表头,建议添加表头识别参数,避免首行被识别为数据内容:
ownr = spark.read.format("csv").option("header", "true").load("dbfs:/FileStore/shared_uploads/directory/carsownr.csv") toPandas()会将全量Spark数据拉取到当前节点的内存中,如果你的数据量超过单节点内存上限,会触发OOM报错,大数据量场景建议优先使用Spark API完成数据处理。
内容的提问来源于stack exchange,提问作者Heisenstein
相关产品推荐
相关产品推荐

