Databricks AutoML数据集上传:如何上传超1000行的数据集至Databricks数据区?
解决Databricks AutoML数据集自动截断问题:完整上传9000+行数据的方法
别担心,这其实是个常见的小场景——要么是Databricks UI的预览机制误导了你,要么是上传方式的限制导致的。下面给你几种靠谱的解决方案,保证能把9000+行的数据集完整传上去:
先确认:是不是只是预览显示截断?
首先别急着折腾上传方式,先验证一下数据到底有没有真的被截断:
- 打开Databricks笔记本,读取你上传的数据集,然后运行
display(df.count())(PySpark环境)或者print(len(df))(Pandas环境)。 - 如果输出是9000+,那说明数据已经完整上传了,只是UI预览默认只显示1000行而已,完全不影响AutoML实验的运行。
真·完整上传的几种方法
如果确实数据被截断了,试试下面这些方法:
1. 直接通过DBFS上传完整文件
Databricks的DBFS(Databricks文件系统)支持直接上传大文件,不会做行截断:
- 点击左侧导航栏的「Data」,切换到「DBFS」标签页;
- 点击「Upload」按钮,选择你的本地数据集文件(CSV、Parquet等格式都支持);
- 上传完成后,在AutoML实验中选择这个DBFS路径下的文件作为数据源就行。
2. 用Databricks CLI批量上传
如果你的数据集很大,或者需要经常上传,CLI方式更高效:
- 先安装Databricks CLI,按照Workspace指引配置好认证信息;
- 用命令上传文件:
databricks fs cp /本地电脑的文件路径 dbfs:/你要存储的目标路径; - 上传完成后,在AutoML里直接引用这个DBFS路径即可,数据会完整保留。
3. 挂载云存储(适合大规模数据集)
如果你的Databricks部署在AWS、Azure或GCP上,挂载对应云存储是最优解:
- 把数据集上传到AWS S3、Azure Blob Storage或者GCS的存储桶里;
- 在Databricks中创建挂载点,将云存储桶挂载到DBFS;
- AutoML实验直接读取挂载路径下的文件,不仅不会截断,还支持超大规模数据集。
4. 用笔记本读取并写入完整数据集
如果以上方法都不想用,也可以通过笔记本中转:
- 先在笔记本中用代码读取本地上传的临时文件(或者直接读取本地文件,前提是集群支持);
- 把数据写入到Delta Lake或者DBFS的永久路径,比如:
# PySpark示例 df = spark.read.csv("/dbfs/FileStore/temp/your_temp_file.csv", header=True, inferSchema=True) df.write.format("delta").saveAsTable("full_dataset_table") # Pandas转Spark示例 import pandas as pd df = pd.read_csv("/dbfs/FileStore/temp/your_temp_file.csv") spark_df = spark.createDataFrame(df) spark_df.write.saveAsTable("full_dataset_table") - 然后在AutoML实验中选择这个新建的表作为数据源,数据就是完整的9000+行。
最后提醒一下:在AutoML实验选择数据源时,一定要选完整的文件/表,别不小心选了系统生成的1000行预览样本,那肯定会用截断的数据跑实验。
内容的提问来源于stack exchange,提问作者Jacques Bartlett
相关产品推荐
相关产品推荐

