处理大数据中的复杂连接

时间:2017-09-07 14:37:05

标签: hadoop hive apache-pig rdbms bigdata

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

我正在尝试在hdfs(或者s3)中设计数据仓库。

为了将电子邮件地址和自定义ID写入配置单元中的表格: 我需要使用sqoop import命令将五个表中的整个数据提取到hdfs中。然后我需要在hive中加入这些表。因此,这个过程可能需要很长时间才能收到电子邮件信息。

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

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

谢谢

1 个答案:

答案 0 :(得分:0)

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

E.g。你应该瞄准一个"客户"电子邮件只是其中一个字段的表格。