Hive上的分层查询

Hive上的分层查询,hive,pyspark,hiveql,Hive,Pyspark,Hiveql,我在pyspark中有一个数据帧,数据如下所示 node 1: node 3: 1 node 5: 1 node 2: 3 node 4: 2 现在我需要知道节点4的所有父节点,这样我就可以得到如下输出 1,3,2 这可以使用配置单元SQL查询吗?SQL本身不支持迭代,也不支持递归 使用connectby子句,您可以让数据库处理递归,并假装它很容易>>在Hive中不可用 使用过程语言包装器(例如T-SQL、PL/SQL、PgSQL),您可以进行迭代,直到每个叶连接到根(…详细的代

我在pyspark中有一个数据帧,数据如下所示

node 1: 
node 3:  1
node 5:  1
node 2:  3
node 4:  2
现在我需要知道节点4的所有父节点,这样我就可以得到如下输出

1,3,2

这可以使用配置单元SQL查询吗?

SQL本身不支持迭代,也不支持递归

  • 使用
    connectby
    子句,您可以让数据库处理递归,并假装它很容易>>在Hive中不可用
  • 使用过程语言包装器(例如T-SQL、PL/SQL、PgSQL),您可以进行迭代,直到每个叶连接到根(…详细的代码,测试没有乐趣…)>>在配置单元中也不可用,除非您使用Python来管理迭代并在每次迭代中运行插入查询,然后收集结果

4是自身的父级?4不是自身的父级。4有父节点2,2有父节点3,3有父节点1,1是根节点“我需要知道节点4的所有父节点”=>输出:
1,2,3,4
意味着
4
是4的父节点。确定。。1,3,2就足够了