当我们使用parition by创建随机样本时,CTAS如何在s3中创建文件?

时间:2019-07-02 13:59:51

标签: amazon-s3 presto amazon-athena

我有类别级别的数据,大约有12,000个类别。 我试图从雅典娜的每个类别中创建随机样本,并尝试将其保存在s3中。

如果我尝试分别为每个类别创建示例,则运行查询将花费48小时以上。我正在尝试使用CTAS,但不确定在内部如何创建镶木地板文件,因为在s3中创建的文件数与类别数不匹配。

什么是更好的解决方案?

CREATE TABLE dataset_sample
            WITH
            (
             format = 'PARQUET',
             external_location = 'location'
            )
           AS SELECT sampled.product_id
            sampled.ps_category as category
            FROM
            (
                SELECT *, ROW_NUMBER() OVER (PARTITION BY ps_category ORDER BY rnd) as rnk
                FROM (
                    SELECT *, RANDOM() AS rnd
                    FROM table2
                    where
                      ps_category like 'DIY & Tools/Hardware/Nails, Screws & Fasteners%'
                    ) bucketed
            ) sampled
            WHERE rnk <= 40000

0 个答案:

没有答案