【发布时间】:2020-09-01 09:01:10
【问题描述】:
我有一个问题:我想选择一个父组织及其所有子组织和子组织: 例如: 上级组织 ID 为:63261
我有以下组织表(org_id,parent_id):
**org_id || parent_id**
63549 || 63261
如果我检查 63549 的孩子
**orga_id || parent_id**
1 58765 || 63549
2 58766 || 63549
3 58803 || 63549
如果我检查 58765、58766、58803 的孩子,他们没有。 因此,我想检索以下 ID:
63261, 63549, 58765, 58766, 58803. All of them.
我尝试了递归查询,但 Hive 不支持递归查询,因此我正在考虑开发一个 spark scala udf,它采用父 id 并返回其所有子项和子子项,直到最后一个不是父项的子项。
有什么想法吗? 谢谢
【问题讨论】:
-
您能否添加更多示例数据输入和预期输出?用一个你可能会得到错误的结果。
-
我认为这个例子很清楚,我需要从父组织 ID 开始,找出它的子级,对于每个子级,我看看它是否有子级,所以是第四个
-
有什么想法吗??
-
我不明白你的输入和输出。如果可能的话,请为父母、孩子多采集一些样本并添加预期的输出
标签: scala apache-spark recursion hive user-defined-functions