如何解决如何通过 instr prior sys guid() 在 hive 上编写连接
我正在使用 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,'|',LEVEL-1) > 0
AND PRIOR sys_guid() IS NOT NULL
介意用简单的方式解释一下,instr 的 connect 代表什么? 我应该如何在 hive 中写入?
谢谢
解决方法
“CONNECT BY”是一种执行递归查找的方法,例如一行中的 data_id 和 parent_id,其中 parent_id 将指向另一行中的之前 data_id。这使得 Oracle 可以快速构建层次关系树等。
在 Hive 中没有与此对应的原生版本。
我确实看到过一篇关于创建外部函数以支持 Hive 中类似功能的博客文章,您可以在此处查看:https://blog.pythian.com/recursion-in-hive/
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。