Sqoop导入优化的Oracle边界查询

问题描述 投票:0回答:1

最近,我正在使用Sqoop Import将数据从Oracle导入HDFS。

以下是经验教训:

我开始观察Sqoop缓慢运行边界查询,例如在5小时内导入数据集,边界查询需要1小时。

我查看基本查询,它是SELECT MIN(id), max(id) from user

当我在巨大的表(数十亿条记录)上运行此查询时,它卡住了,Oracle没有快速响应。然而,SELECT MIN(id) from userSELECT max(id) from user跑得快。

我没有Oracle表结构,索引信息等的细节。

在这篇文章中,我想分享我在我的案例中如何解决它,并想问社区是否有人以不同的方式解决了同样的问题。

另一个问题,为什么Sqoop开发人员没有考虑边界查询的性能。

我不确定Sqoop是否仍然经常使用,投票这个问题如果它仍然相关,我将发表所有经验教训的帖子。

oracle sqoop
1个回答
0
投票

这是我们正在使用的优化边界查询:

SELECT
    *
FROM
    (
        SELECT
            MIN( id ) min_
        from
            user
    ) v1,
    (
        SELECT
            MAX( id ) max_
        from
            user
    ) v2;
© www.soinside.com 2019 - 2024. All rights reserved.