【问题标题】:How to use Spark Sql to do recursive query如何使用 Spark Sql 进行递归查询
【发布时间】:2017-08-05 11:11:45
【问题描述】:

我正在尝试使用 spark sql 递归查询分层数据集并识别所有嵌套子级的父根。

我尝试过使用自加入,但它只适用于 1 级。

有什么想法或建议吗?

谢谢

【问题讨论】:

  • 除了在迭代连接之上构建查询之外,您不会这样做。你可以看看graphframes,但这些都是相当有限的。
  • @zero323 - 连接的问题是无法知道连接的深度。它可以是 1-level、2-level 或 3-level deep /interations
  • 我完全意识到这一点,但这是您必须以一种或另一种方式处理的事情。如果您需要对执行进行细粒度控制,您可以使用 GraphX API,但如果您想要高级方法,这几乎是唯一的选择。
  • 一些预处理可能有助于查询...您可以检查嵌套集模型是否适合您的目的...mikehillyer.com/articles/managing-hierarchical-data-in-mysql

标签: scala apache-spark apache-spark-sql


【解决方案1】:

您可以使用基于 Graphx 的解决方案来执行递归查询(父/子或分层查询)。这是许多数据库提供的功能,称为递归公用表表达式 (CTE) 或 SQL 子句连接

查看这篇文章了解更多信息:https://www.qubole.com/blog/processing-hierarchical-data-using-spark-graphx-pregel-api/

【讨论】:

    猜你喜欢
    • 2021-05-21
    • 2019-06-08
    • 2010-11-03
    • 2010-09-08
    • 2017-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多