python - pyspark 将第一个 n 文件读入 df
问题描述
我正在尝试 databricks 平台,我有兴趣将前 6 个文件加载到数据框中。
数据dbfs:/mystore
以文本/csv 文件的形式存储在其中。
part-00000
part-00001
part-00002
part-00003
part-00004
part-00005
part-00006
part-00007
part-00008
part-00009
part-00010
我所做的是创建一个火花会话:
spark = SparkSession.builder.appName("tester").master("local[*]").getOrCreate()
和df = spark.read.csv("dbfs:/mystore/*", header='true', inferSchema='true')
但这会将所有内容读入数据框中。如何仅将前 5 个文件读00000 - 00004
入数据框中?- 每个文件都很大,所以我只想玩第一个 5 个文件。
另外,由于标题在 中part-00000
,我仍然可以使用header="true"
吗read.csv
?因为如果我没记错的话,spark 在创建数据帧时会分配负载,因此不会保留顺序。
解决方案
我想出了一个快速而肮脏的解决方案。
基本上使用python生成合格文件位置的列表,然后将该列表加载到spark.read.csv(list_of_file_locations)
然后它就可以工作了。
推荐阅读
- wpf - 页面资源中的 DataContext 绑定
- php - JSON输入意外结束,找不到原因
- reactjs - 强制更新 React 兄弟
- magento - Magento2 产品导入务实我想跳过 csv 中不存在的图像吗?
- python - 我如何在 tensorflow 中打印 ETA,就像在 Keras 中那样详细
- jquery - 如何在 Symfony 4 中发出 Ajax 请求?
- ios - 在 collectionview 单元格中播放视频
- c# - 基于组合框的wpf条件触发
- javascript - highcharts 多列图表不显示
- sql-server - 如何使用 MSSQL 查询更改数据类型