我正在试用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会话:
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在创建数据帧时会分配负载,所以顺序不会被保留。
发布于 2021-05-03 11:56:47
我想出了一个快速而肮脏的解决方案。
基本上,使用python生成一个合格文件位置的列表,然后将该列表加载到spark.read.csv(list_of_file_locations)中,然后它就可以工作了。
https://stackoverflow.com/questions/67363102
复制相似问题