从s3 python读取实木复合地板文件

时间:2020-05-01 08:49:36

标签: python python-3.x amazon-s3 optimization parquet

我有大约2000万条记录的庞大数据集。它以镶木地板格式存储在s3中。文件夹结构如下: enter image description here

每个实木复合地板文件具有以下内容: <Order_Id><param1><param2><param3><param4>

使用Glue进行分区并在Athena中进行分区或在Spark集群中进行分区,并且目前不能。我需要从此结构中读取 500个订单ID ,时间为 1年。使用python和pyarrow引擎。

要读取一个Order_ID,大约需要3分钟的时间,即1天。 1天的2个order_ID需要6分钟,而2天的1个Order_ID也需要6分钟。因此,每当我增加时间段或订单时,时间就会线性增加。

def process(self, date_val, order_list, param_list):
        key_list = self.fetch_keys_for_date(date_val)
        for i1, key in enumerate(key_list):
            df = self.read_individual_key_data(key)
            for i2, order in enumerate(order_list):
                for param in param_list:
                    order_param_level_df = self.filter_data_by_orders_and_param(df, order_id, param)
                    self.write_data_to_disk(order_param_level_df, date_val, order, param)

1个order_ID大约需要5个小时。我需要帮助,以了解如何优化该过程,以便更快地完成该过程?

0 个答案:

没有答案
相关问题