笔记:如何使用postgresql做顺序扣减库存

如何使用postgresql做顺序扣减库存

[TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:06a7824d-a9c1-4bfb-a4e4-0d833270b905

[En]

[TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:851c51b6-0371-473a-b3ea-8f59c19ad84c

[TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:b8790823-13f1-47dc-93e3-7ebe24740c69

[En]

[TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:69498efe-7c46-4e21-b715-6e2ebae93098

  • 库存数据
    select * from t_product_inventory;id type 产品代码 日期 数量 7 in 99999279 2018-11-01 24480 8 in 99999279 2018-11-03 20832 9 in 99999279 2018-12-02 21360 10 in 99999279 2019-06-14 18768 11 in 99999279 2019-06-16 9552 12 in 99999279 2019-07-12 2304 13 in 99999279 2019-09-05 3696 14 in 99999279 2019-09-06 16 15 in 99999279 2019-10-22 48 16 in 99999279 2019-11-03 14112 17 in 99999279 2019-12-02 2160 18 in 99999279 2019-12-04 720 19 in 99999279 2019-12-12 12960 20 in 99999290 2019-12-23 6336 21 in 99999290 2019-12-26 50 29 in 99999777 2021-04-08 10011
  • 出库数据
    select * from t_product_out;id type 产品代码 数量 1 out 99999279 77777 2 out 99999290 10000
  • 实际库存(结果)id– –产品代码– –日期(库存批次日期)– –数量(库存)– –数量_出– –出_入差异(出-库存) 7 99999279 24480 24480 0 8 99999279 2018-11-03 20832 20832 0 9 99999279 2018-12-02 21360 21360 0 10 99999279 2019-06-14 18768 11105 7663 11 99999279 2019-06-16 9552 0 9552 12 99999279 2019-07-12 2304 0 2304 13 99999279 2019-09-05 3696 0 3696 14 99999279 2019-09-06 16 0 16 15 99999279 2019-10-22 48 0 48 16 99999279 2019-11-03 14112 0 14112 17 99999279 2019-12-02 2160 0 2160 18 99999279 2019-12-04 720 0 720 19 99999279 2019-12-12 12960 0 12960 20 99999290 2019-12-23 6336 6336 0 21 99999290 2019-12-26 50 50 3614 29 99999777 2021-04-08 10011 0 10011

首先要说sql的思考过程还是比较复杂滴(当然可以确定是我自跟儿写的),而整个过程几乎就是走一步看一步的解决问题的过程🤣,掉了多少头发可想而知了。。。

  SELECT
    i.id,
    i.type,
    i."产品代码",
    i."日期",
    i."数量",
    o."出_汇总"
  FROM t_product_inventory i
   LEFT JOIN (
   SELECT t_product_out."产品代码",
    sum(t_product_out."数量") AS "出_汇总"
    FROM t_product_out
    GROUP BY t_product_out."产品代码"
  ) o ON i."产品代码" = o."产品代码"
  ORDER BY i."产品代码", i."日期" NULLS FIRST;

id type 产品代码 日期 数量 出_汇总 7 in 99999279 24480 77777 8 in 99999279 2018-11-03 20832 77777 9 in 99999279 2018-12-02 21360 77777 10 in 99999279 2019-06-14 18768 77777 11 in 99999279 2019-06-16 9552 77777 12 in 99999279 2019-07-12 2304 77777 13 in 99999279 2019-09-05 3696 77777 14 in 99999279 2019-09-06 16 77777 15 in 99999279 2019-10-22 48 77777 16 in 99999279 2019-11-03 14112 77777 17 in 99999279 2019-12-02 2160 77777 18 in 99999279 2019-12-04 720 77777 19 in 99999279 2019-12-12 12960 77777 20 in 99999290 2019-12-23 6336 6386 21 in 99999290 2019-12-26 50 6386 29 in 99999777 2021-04-08 10011

[注意: 因为所给的出库数据是没有重复的,以上是可以略去 sum 聚合这个操作的,因为两张表是按产品代码做关联的(很显然),另外就是日期是可以降序排列的,但是在日期有null值的情况下null所在的记录默认是降序排在最后的,所以要 order by 要指定 NULLS FIRST 这样才能为后面null批次的做优先扣减 🤗]

觉得还是先回顾下需求吧,我们的需求是每个产品下每一个批次顺序扣减的最终结果(还有批次扣减的数),其中扣减数量应该就是=当前批次(库存)数量-出库数量,公式是确定的,看起来似乎简单,然而难点是如何算出这个”扣减数量(出库数量)”呢???😂😂 。。。 想想,我们用当前产品出库总数按批次往下减,这样会出现一个问题是批次剩余数量=出库总数-当前批次数量,而且这个批次剩余数量并不能累加,只能用出库数量依次递减才是,。。。好了,这又是一个难点,继续思考下,目前我们是不是没法做(至少是没法简单的)获取到 库存数量-出库数量;幸运的是。。。如果将产品库存数量依次递减,这样不就可以算出库存差异了(事实上这样也有各种各样的问题)。。。让我们试试看吧

SELECT
    i.id,
    i.type,
    i."产品代码",
    i."日期",
    i."数量",
    o."出_汇总",
    sum(i."数量") OVER (PARTITION BY i."产品代码" ORDER BY i."日期" NULLS FIRST, i."数量") AS "入_递增"
FROM (t_product_inventory i
 LEFT JOIN ( SELECT t_product_out."产品代码",
        sum(t_product_out."数量") AS "出_汇总"
        FROM t_product_out
        GROUP BY t_product_out."产品代码") o
 ON (((i."产品代码")::text = (o."产品代码")::text)))
ORDER BY i."产品代码", i."日期" NULLS FIRST;

id type 产品代码 日期 数量 出_汇总 入_递增 7 in 99999279 24480 77777 24480 8 in 99999279 2018-11-03 20832 77777 45312 9 in 99999279 2018-12-02 21360 77777 66672 10 in 99999279 2019-06-14 18768 77777 85440 11 in 99999279 2019-06-16 9552 77777 94992 12 in 99999279 2019-07-12 2304 77777 97296 13 in 99999279 2019-09-05 3696 77777 100992 14 in 99999279 2019-09-06 16 77777 101008 15 in 99999279 2019-10-22 48 77777 101056 16 in 99999279 2019-11-03 14112 77777 115168 17 in 99999279 2019-12-02 2160 77777 117328 18 in 99999279 2019-12-04 720 77777 118048 19 in 99999279 2019-12-12 12960 77777 131008 20 in 99999290 2019-12-23 6336 10000 6336 21 in 99999290 2019-12-26 50 10000 6386 29 in 99999777 2021-04-08 10011 10011

[看,我们将各个产品库存数量按照批次的顺序依次递增累加了(入_递增这一列),注意窗口函数内需要排序!]

SELECT t1.id,
  t1.type,
  t1."产品代码",
  t1."日期",
  t1."数量",
  t1."出_汇总",
  t1."入_递增",
      CASE
          WHEN (((t1."&#x51FA;_&#x6C47;&#x603B;" - t1."&#x5165;_&#x9012;&#x589E;") > (0)::numeric) /*AND (t1.rk <> t1.rk_ct)*/) THEN (0)::numeric
          ELSE (t1."&#x5165;_&#x9012;&#x589E;" - t1."&#x51FA;_&#x6C47;&#x603B;")
      END AS "&#x51FA;_&#x5165;&#x5DEE;&#x5F02;"
 FROM (
    SELECT i.id,
          i.type,
          i."&#x4EA7;&#x54C1;&#x4EE3;&#x7801;",
          i."&#x65E5;&#x671F;",
          i."&#x6570;&#x91CF;",
          o."&#x51FA;_&#x6C47;&#x603B;",
          sum(i."&#x6570;&#x91CF;") OVER (PARTITION BY i."&#x4EA7;&#x54C1;&#x4EE3;&#x7801;" ORDER BY i."&#x65E5;&#x671F;" NULLS FIRST, i."&#x6570;&#x91CF;") AS "&#x5165;_&#x9012;&#x589E;"
         FROM (t_product_inventory i
           LEFT JOIN ( SELECT t_product_out."&#x4EA7;&#x54C1;&#x4EE3;&#x7801;",
                  sum(t_product_out."&#x6570;&#x91CF;") AS "&#x51FA;_&#x6C47;&#x603B;"
                 FROM t_product_out
                GROUP BY t_product_out."&#x4EA7;&#x54C1;&#x4EE3;&#x7801;") o ON (((i."&#x4EA7;&#x54C1;&#x4EE3;&#x7801;")::text = (o."&#x4EA7;&#x54C1;&#x4EE3;&#x7801;")::text)))
        ORDER BY i."&#x4EA7;&#x54C1;&#x4EE3;&#x7801;", i."&#x65E5;&#x671F;" NULLS FIRST
) t1

id type 产品代码 日期 数量 出_汇总 入_递增 出_入差异 7 in 99999279 24480 77777 24480 0 8 in 99999279 2018-11-03 20832 77777 45312 0 9 in 99999279 2018-12-02 21360 77777 66672 0 10 in 99999279 2019-06-14 18768 77777 85440 7663 11 in 99999279 2019-06-16 9552 77777 94992 17215 12 in 99999279 2019-07-12 2304 77777 97296 19519 13 in 99999279 2019-09-05 3696 77777 100992 23215 14 in 99999279 2019-09-06 16 77777 101008 23231 15 in 99999279 2019-10-22 48 77777 101056 23279 16 in 99999279 2019-11-03 14112 77777 115168 37391 17 in 99999279 2019-12-02 2160 77777 117328 39551 18 in 99999279 2019-12-04 720 77777 118048 40271 19 in 99999279 2019-12-12 12960 77777 131008 53231 20 in 99999290 2019-12-23 6336 10000 6336 0 21 in 99999290 2019-12-26 50 10000 6386 0 29 in 99999777 2021-04-08 10011 10011

[看似一切都没有问题,所以中间我特意将 99999290 这款产品临时改为10000,这样你就会看到2019-12-26这个 出_入差异 值为零,零,怎么可能为零呢。。。不要计较了一定是sql有缺陷😆]

首先要确定的是 99999290 -> 2019-12-26 这个批次的差异应该是3614,造成这样的原因无非就是(最后一个批次的)出库数大于库存数~,看出问题了就不能无视缺陷的存在😎,所以对于最后一个批次如果出库数量仍然大于当前批次的数量,他的差异(出_入差异)应该就是负数;等等,那我如何确定每个产品的最后一个批次呢,让我们试着用sql找找看😂

  SELECT t1.id,
            t1.type,
            t1."&#x4EA7;&#x54C1;&#x4EE3;&#x7801;",
            t1."&#x65E5;&#x671F;",
            t1."&#x6570;&#x91CF;",
            t1."&#x51FA;_&#x6C47;&#x603B;",
            t1.rk,
            t1.rk_ct,
            t1."&#x5165;_&#x9012;&#x589E;",
            CASE
              WHEN (((t1."&#x51FA;_&#x6C47;&#x603B;" - t1."&#x5165;_&#x9012;&#x589E;") > (0)::numeric) AND (t1.rk <> t1.rk_ct)) THEN (0)::numeric
              ELSE (t1."&#x5165;_&#x9012;&#x589E;" - t1."&#x51FA;_&#x6C47;&#x603B;")
            END AS "&#x51FA;_&#x5165;&#x5DEE;&#x5F02;"
         FROM (
         SELECT i.id,
                i.type,
                i."&#x4EA7;&#x54C1;&#x4EE3;&#x7801;",
                i."&#x65E5;&#x671F;",
                i."&#x6570;&#x91CF;",
                o."&#x51FA;_&#x6C47;&#x603B;",
                row_number() OVER (PARTITION BY i."&#x4EA7;&#x54C1;&#x4EE3;&#x7801;" ORDER BY i."&#x65E5;&#x671F;" NULLS FIRST, i."&#x6570;&#x91CF;") AS rk,
                count(1) OVER (PARTITION BY i."&#x4EA7;&#x54C1;&#x4EE3;&#x7801;") AS rk_ct,
                sum(i."&#x6570;&#x91CF;") OVER (PARTITION BY i."&#x4EA7;&#x54C1;&#x4EE3;&#x7801;" ORDER BY i."&#x65E5;&#x671F;" NULLS FIRST, i."&#x6570;&#x91CF;") AS "&#x5165;_&#x9012;&#x589E;"
                FROM (t_product_inventory i
                 LEFT JOIN ( SELECT t_product_out."&#x4EA7;&#x54C1;&#x4EE3;&#x7801;",
                    sum(t_product_out."&#x6570;&#x91CF;") AS "&#x51FA;_&#x6C47;&#x603B;"
                    FROM t_product_out
                    GROUP BY t_product_out."&#x4EA7;&#x54C1;&#x4EE3;&#x7801;") o ON (((i."&#x4EA7;&#x54C1;&#x4EE3;&#x7801;")::text = (o."&#x4EA7;&#x54C1;&#x4EE3;&#x7801;")::text)))
                ORDER BY i."&#x4EA7;&#x54C1;&#x4EE3;&#x7801;", i."&#x65E5;&#x671F;" NULLS FIRST
) t1;

id type 产品代码 日期 数量 出_汇总 rk rk_ct 入_递增 出_入差异 7 in 99999279 24480 77777 1 13 24480 0 8 in 99999279 2018-11-03 20832 77777 2 13 45312 0 9 in 99999279 2018-12-02 21360 77777 3 13 66672 0 10 in 99999279 2019-06-14 18768 77777 4 13 85440 7663 11 in 99999279 2019-06-16 9552 77777 5 13 94992 17215 12 in 99999279 2019-07-12 2304 77777 6 13 97296 19519 13 in 99999279 2019-09-05 3696 77777 7 13 100992 23215 14 in 99999279 2019-09-06 16 77777 8 13 101008 23231 15 in 99999279 2019-10-22 48 77777 9 13 101056 23279 16 in 99999279 2019-11-03 14112 77777 10 13 115168 37391 17 in 99999279 2019-12-02 2160 77777 11 13 117328 39551 18 in 99999279 2019-12-04 720 77777 12 13 118048 40271 19 in 99999279 2019-12-12 12960 77777 13 13 131008 53231 20 in 99999290 2019-12-23 6336 10000 1 2 6336 0 21 in 99999290 2019-12-26 50 10000 2 2 6386 -3614 29 in 99999777 2021-04-08 10011 1 1 10011

[看,以上处理方式是不是赞👍,前面的缺陷完美滴解决,总结重点就是:通过窗口函数算出最后一列,这一列通过rk以及rk_ct比较得来的,想想看是不是很妙 😉]

[虽然我们可能注意到了出库数超出的情况,但是你可能忽略了最后一个问题,如果某个产品最近根本就没有出库呢…不妨看看 99999777 这款产品 是不是…是不是。。😥 ,当然对于出库数不存在的解决办法就相当easy了,当然如果你认真揣度过上面的sql的话。。。应该就不存在困难,如果不看以下sql,试试看~(相信你可以哟😎) ]

 SELECT
    tt1.id,
    tt1.type,
    tt1."&#x4EA7;&#x54C1;&#x4EE3;&#x7801;",
    tt1."&#x65E5;&#x671F;",
    tt1."&#x6570;&#x91CF;",
    tt1."&#x51FA;_&#x6C47;&#x603B;",
    tt1.rk,
    tt1.rk_ct,
    tt1."&#x5165;_&#x9012;&#x589E;",
    tt1."&#x51FA;_&#x5165;&#x5DEE;&#x5F02;",
    case when  tt1."&#x51FA;_&#x6C47;&#x603B;" is null  then 0 else
    ((tt1."&#x6570;&#x91CF;")::numeric - COALESCE((tt1."&#x51FA;_&#x5165;&#x5DEE;&#x5F02;" - lag(tt1."&#x51FA;_&#x5165;&#x5DEE;&#x5F02;", 1, (0)::numeric) OVER (PARTITION BY tt1."&#x4EA7;&#x54C1;&#x4EE3;&#x7801;" ORDER BY tt1."&#x65E5;&#x671F;" NULLS FIRST, tt1."&#x6570;&#x91CF;")),0)) end AS "&#x6570;&#x91CF;_&#x51FA;",
    case when  tt1."&#x51FA;_&#x6C47;&#x603B;" is null  then tt1."&#x6570;&#x91CF;" else
    (COALESCE(tt1."&#x51FA;_&#x5165;&#x5DEE;&#x5F02;",0) - lag(tt1."&#x51FA;_&#x5165;&#x5DEE;&#x5F02;", 1, (0)::numeric) OVER (PARTITION BY tt1."&#x4EA7;&#x54C1;&#x4EE3;&#x7801;" ORDER BY tt1."&#x65E5;&#x671F;" NULLS FIRST, tt1."&#x6570;&#x91CF;")) end AS "&#x51FA;_&#x5165;&#x5DEE;&#x5F02;_result"
   FROM (
     SELECT t1.id,
            t1.type,
            t1."&#x4EA7;&#x54C1;&#x4EE3;&#x7801;",
            t1."&#x65E5;&#x671F;",
            t1."&#x6570;&#x91CF;",
            t1."&#x51FA;_&#x6C47;&#x603B;",
            t1.rk,
            t1.rk_ct,
            t1."&#x5165;_&#x9012;&#x589E;",
                CASE
                    WHEN (((t1."&#x51FA;_&#x6C47;&#x603B;" - t1."&#x5165;_&#x9012;&#x589E;") > (0)::numeric) AND (t1.rk <> t1.rk_ct)) THEN (0)::numeric
                    ELSE (t1."&#x5165;_&#x9012;&#x589E;" - t1."&#x51FA;_&#x6C47;&#x603B;")
                END AS "&#x51FA;_&#x5165;&#x5DEE;&#x5F02;"
           FROM (
           SELECT
            i.id,
                    i.type,
                    i."&#x4EA7;&#x54C1;&#x4EE3;&#x7801;",
                    i."&#x65E5;&#x671F;",
                    i."&#x6570;&#x91CF;",
                    o."&#x51FA;_&#x6C47;&#x603B;",
                    row_number() OVER (PARTITION BY i."&#x4EA7;&#x54C1;&#x4EE3;&#x7801;" ORDER BY i."&#x65E5;&#x671F;" NULLS FIRST, i."&#x6570;&#x91CF;") AS rk,
                    count(1) OVER (PARTITION BY i."&#x4EA7;&#x54C1;&#x4EE3;&#x7801;") AS rk_ct,
                    sum(i."&#x6570;&#x91CF;") OVER (PARTITION BY i."&#x4EA7;&#x54C1;&#x4EE3;&#x7801;" ORDER BY i."&#x65E5;&#x671F;" NULLS FIRST, i."&#x6570;&#x91CF;") AS "&#x5165;_&#x9012;&#x589E;"
                   FROM (t_product_inventory i
                     LEFT JOIN ( SELECT t_product_out."&#x4EA7;&#x54C1;&#x4EE3;&#x7801;",
                            sum(t_product_out."&#x6570;&#x91CF;") AS "&#x51FA;_&#x6C47;&#x603B;"
                           FROM t_product_out
                          GROUP BY t_product_out."&#x4EA7;&#x54C1;&#x4EE3;&#x7801;") o ON (((i."&#x4EA7;&#x54C1;&#x4EE3;&#x7801;")::text = (o."&#x4EA7;&#x54C1;&#x4EE3;&#x7801;")::text)))
                  ORDER BY i."&#x4EA7;&#x54C1;&#x4EE3;&#x7801;", i."&#x65E5;&#x671F;" NULLS FIRST

              ) t1
) tt1
  ORDER BY tt1."&#x4EA7;&#x54C1;&#x4EE3;&#x7801;", tt1."&#x65E5;&#x671F;" NULLS FIRST;

id type 产品代码 日期 数量 出_汇总 rk rk_ct 入_递增 出_入差异 数量_出 出_入差异_result 7 in 99999279 24480 77777 1 13 24480 0 24480 0 8 in 99999279 2018-11-03 20832 77777 2 13 45312 0 20832 0 9 in 99999279 2018-12-02 21360 77777 3 13 66672 0 21360 0 10 in 99999279 2019-06-14 18768 77777 4 13 85440 7663 11105 7663 11 in 99999279 2019-06-16 9552 77777 5 13 94992 17215 0 9552 12 in 99999279 2019-07-12 2304 77777 6 13 97296 19519 0 2304 13 in 99999279 2019-09-05 3696 77777 7 13 100992 23215 0 3696 14 in 99999279 2019-09-06 16 77777 8 13 101008 23231 0 16 15 in 99999279 2019-10-22 48 77777 9 13 101056 23279 0 48 16 in 99999279 2019-11-03 14112 77777 10 13 115168 37391 0 14112 17 in 99999279 2019-12-02 2160 77777 11 13 117328 39551 0 2160 18 in 99999279 2019-12-04 720 77777 12 13 118048 40271 0 720 19 in 99999279 2019-12-12 12960 77777 13 13 131008 53231 0 12960 20 in 99999290 2019-12-23 6336 10000 1 2 6336 0 6336 0 21 in 99999290 2019-12-26 50 10000 2 2 6386 -3614 3664 -3614 29 in 99999777 2021-04-08 10011 1 1 10011 0 10011

[注意: 以上 出_入差异_result 这一列即为最终求解哈,为了这一列费老多力了😄]

很多时候我们以为的似乎并不是那么难,只是你很少去思考而已,当然呐,以上只是个人拙见,解决方法肯定还有很多,各位不妨试试看囖~ 😘

Original: https://www.cnblogs.com/funnyzpc/p/15207267.html
Author: funnyZpC
Title: 笔记:如何使用postgresql做顺序扣减库存

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/562390/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Flink、Hive、Flume

    Hive简介 Hive和数据库比较 由于Hive采用了类似SQL的查询语言HQL(Hive Query Language),因此很容易将hive理解为数据库。其实从结构上来看,Hi…

    大数据 2023年11月12日
    046
  • Android数据库Room之二实体之间的关系

    一.定义对象之间的关系 由于 SQLite 是关系型数据库,因此您可以定义各个实体之间的关系。尽管大多数对象关系映射库都允许实体对象互相引用,但 Room 明确禁止这样做。如需了解…

    大数据 2023年11月10日
    044
  • Tapdata Cloud 2.1.5来啦:新增支持Amazon RDS数据库,错误日志查询更便捷,Agent部署细节再优化

    需求持续更新,优化一刻不停——Tapdata Cloud 2.1.5 来啦! 最新发布的版本中,数据连接再上新,同时新增任务报错相关信息快速查询入口,开始支持 JVM 参数自定义设…

    大数据 2023年6月3日
    082
  • 在Unity中使用Sqlite创建数据库

    可以实现本地数据存储和查询功能。您可以按照以下步骤进行操作: 1. 下载 插件,例如 3d或 。 2. 将插件导入到 。 3. 和表结构。您可以 命令或插件提供的API来执行此操作…

    大数据 2023年11月10日
    037
  • Sqoop教程(二)使用Sqoop在MySQL与Hive之间进行数据导入导出操作

    Sqoop主要作用是提供方便的Hive表和关系型数据库表的数据的导入导出操作。运行Sqoop需要启动Hadoop、Hive服务在hp1的MySQL中新建数据库test_sqoop,…

    大数据 2023年11月13日
    094
  • NLP 中文形近字相似度算法开源实现

    项目简介 nlp-hanzi-similar 为汉字提供相似性的计算。 ; 创作目的 有一个小伙伴说自己在做语言认知科学方向的课题研究,看了我以前写的 NLP 中文形近字相似度计算…

    大数据 2023年5月28日
    096
  • CentOS下ISCSI共享存储配置

    配置iscsid.conf文件: [root@node1 ~]# vim /etc/iscsi/iscsid.conf 取消注释以下配置项,并填写用户名和密码 [En] Uncom…

    大数据 2023年5月27日
    066
  • 多云容器编排 Karmada-Operator 实践

    作者:vivo 互联网服务器团队-Zhang Rong Karmada作为开源的云原生多云容器编排项目,吸引了众多企业共同参与项目开发,并运行于生产环境中。同时多云也逐步成为数据中…

    大数据 2023年6月2日
    065
  • 2021-12-10 sqlite数据库 sqlite表

    建设表CREATE TABLE arg_info(no TEXT,name TEXT,energy REAL,protein REAL); 增加INSERT INTO arg_in…

    大数据 2023年11月12日
    049
  • kettle8.2 连接 cdh6.3.2 root directory access 问题记录

    因业务需要,切换到cdh6.3.2平台,虽然用起来 不是很熟悉,但总体还是能快速入手spark、hive及sqoop等使用。但导数据时发现sqoop其实并不见得那么好用,反而不如使…

    大数据 2023年11月12日
    032
  • 【NLP】基于Pytorch lightning与BiLSTM-CRF的NER实现

    ; 背景 前文已介绍了BiLSTM+CRF进行序列标注的理论内容,参见:【NLP】基于BiLSTM-CRF的序列标注,也做了:【NLP】基于隐马尔可夫模型(HMM)的命名实体识别(…

    大数据 2023年5月28日
    080
  • 外部访问docker容器(docker run -p/-P 指令)

    容器中可以运行一些网络应用,要让外部也可以访问这些应用,可以通过 -P(大写) 或 -p (小写) 参数来指定端口映射。(1)当使用 -P 标记时,Docker 会随机映射一个 4…

    大数据 2023年5月29日
    088
  • Hadoop生态之Yarn

    由于博主最近在忙着期末考试捏所以一直没有更新博客,昨天也是刚考完试火急火燎的赶到了公司,博主在这里劝诫大家一定要多方位核查自己即将去的公司,并且该问的问清楚了,太难了。。。 在生活…

    大数据 2023年11月13日
    030
  • CV和NLP的区别

    本质(根)上没有区别,都是信息信号处理,都是高维信号的分解和组合,但是信号的结构特征有区别,所以需要不同的策略来挖掘数据信息,即使用不同的分解和组合策略; CV: 图像处理纹理信息…

    大数据 2023年5月28日
    058
  • ranger2.1.0源码编译以及安装

    ranger2.1.0源码编译以及安装 编译环境准备 环境需求 示例版本 JDK8 Java(TM) SE Runtime Environment (build 1.8.0_231…

    大数据 2023年6月3日
    069
  • BERT参数量计算

    目前,预训练模型在NLP领域占据核心地位。预训练模型的参数量是庞大的,例如BERT(base)的参数量是110M,BERT(large)的参数量是330M。为了深入认识,我决定思考…

    大数据 2023年5月28日
    093
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球