我在一个路径中有n个orc文件,其中大约150个文件是空的或不完整的大小,我想忽略所有这些文件,同时通过pyspark读取. 我写了以下内容,但我需要一些帮助,因为它不起作用.

path = "/home/data/raw_data/"
file_list = os.listdir(path)
for file in file_list:
    size=os.path.getsize(os.path.join(path, file))
    if size > 6500: # want to import which is greater than 6.5 Mb
        file_list.append(size)
raw_df = spark.read.format("orc").load(path)

推荐答案

上面代码中的问题是

file_list.append(size) ---> which is not required and 
reading data from spark should be inside loop.

from pyspark.sql import DataFrame
from functools import reduce

df_list =[]
path = "/home/data/raw_data/"
file_list = os.listdir(path)
for file in file_list:
    size=os.path.getsize(os.path.join(path, file))
    if size > 6500: 
       raw_df = spark.read.format("orc").load(path+file)
       df_list.append(raw_df)
df_fnl = reduce(DataFrame.unionByName,df_list)

感谢您对我的解决方案的好评.

Python-3.x相关问答推荐

如何匹配字母,数字,短划线,逗号,但不是如果没有数字和字母?

Pandas groupby基于索引的连续列值相等

如何将多个字典合并到一个列中,并为不同的行使用相同的键

PySpark每毫秒使用先前的值填充数据

使用数据库将文件从Sharepoint下载到文件系统

visual studio代码窗口中未激活虚拟环境11

当条件第一次出现时将行标记为True,如果按顺序重复则标记为False

隐藏Cartopy中高纬度非矩形投影的右侧轴(纬度)标签

双轴上的刻度和标签

Pandas数据单调行为

使用带有多线程的 win32com

有没有更好的方法来判断一个数字是否是两个数字的范围

PyQt:退出时没有错误消息(回溯)

活动屏幕上的 PyQt4 中心窗口

如何从 Python 3.5 降级到 Python 3.4

简单的 get/post 请求在 python 3 中被阻止,但在 python 2 中没有

ValueError:预期的 2D 数组,得到 1D 数组:

如何等待 create_task() 创建的任务完成?

python中的订单字典索引

Selenium Python - 处理没有这样的元素异常