【问题标题】:Sqoop import optimized Oracle boundary querySqoop 导入优化的 Oracle 边界查询
【发布时间】:2018-09-15 04:47:21
【问题描述】:

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

这是经验教训之一:

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

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

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

我没有 Oracle 表结构、索引信息等的详细信息。

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

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

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

【问题讨论】:

    标签: oracle sqoop


    【解决方案1】:

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

    SELECT
        *
    FROM
        (
            SELECT
                MIN( id ) min_
            from
                user
        ) v1,
        (
            SELECT
                MAX( id ) max_
            from
                user
        ) v2;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-07
      • 1970-01-01
      • 2015-02-26
      • 2011-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多