【问题标题】:how to write connect by instr prior sys guid() on hive如何在 hive 上通过 instr 之前的 sys guid() 编写连接
【发布时间】:2021-06-13 08:30:58
【问题描述】:

我正在使用 thiveinput talend 将数据从 oracle 传输到 hive。

我的代码如下所示。

SELECT 
DISTINCT A.ID,
  LEVEL SEQUENCE,
  REGEXP_SUBSTR(A.ANEST,'[^|]+', 1, LEVEL),
  DATE
FROM
( SELECT A.* 
FROM tableaa A,
   tablebb B
  WHERE A.IDX = B.IDY
  and A.DATE = B.DATE
  ) A
CONNECT BY INSTR(A.ANEST, '|', 1, LEVEL-1) > 0
AND PRIOR sys_guid() IS NOT NULL

你介意用简单的方式解释一下,connect by instr 代表什么? 又应该怎么写hive呢?

谢谢

【问题讨论】:

    标签: oracle hive connect-by


    【解决方案1】:

    “CONNECT BY”是一种执行递归查找的方式,就像一行中的 data_id 和 parent_id,其中 parent_id 将指向另一行中的 prior data_id。这使得 Oracle 可以快速构建层次关系树等。

    Hive 中没有本机等效项。

    我确实看到了一篇关于创建外部函数以支持 Hive 中类似功能的博客文章,您可以在此处查看:https://blog.pythian.com/recursion-in-hive/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-11-27
      • 1970-01-01
      • 2013-06-03
      • 2018-10-19
      • 1970-01-01
      • 1970-01-01
      • 2020-03-02
      相关资源
      最近更新 更多