【问题标题】:Handling complex joins in big data处理大数据中的复杂连接
【发布时间】:2018-02-16 08:32:00
【问题描述】:

OLTP 系统已标准化并包含数百个表。我们在设计报表时可能需要加入很多表。例如,我需要加入四到五个表才能获得客户的电子邮件地址。 (感谢我们使用的电信模型)

我正在尝试在 hdfs(或者可能是 s3)中设计一个数据仓库。

为了将电子邮件地址和自定义 ID 写入 hive 上的表中: 我需要使用 sqoop import 命令将五个表中的全部数据提取到 hdfs 中。然后我需要在 hive 中加入这些表。所以这个过程可能会持续很长时间才能获得电子邮件信息。

或者我可以使用 sqoop 查询命令导入数据。这似乎更容易,并且在 hdfs 中占用的空间更少,但在这种情况下查询执行时间至关重要。

在类似情况下,您的选择是什么?你有其他方法吗?

谢谢

【问题讨论】:

    标签: hadoop hive apache-pig rdbms bigdata


    【解决方案1】:

    您应该考虑对架构进行非规范化。例如。使用 sqoop 在 hive 中导入您可能需要的所有表,准备一个 ETL 过程,将其非规范化为星型模式,并使用非规范化的新模式进行查询。

    例如您应该瞄准一个“客户”表,其中电子邮件只是其中一个字段。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多