2017-08-16 68 views
0

我有更多的概念问题。我使用Hive来获取数据,然后我想将所有检索到的值插入到IBM BigSQL(基本上是DB2)中,以便聚合数据更容易/更快。所以我想在Hive中创建一个视图,我将使用每晚执行CTAS的方式,以便我可以将表格迁移到db2并完成剩余的聚合。 有没有更好的做法? 我想尽一切办法在Hive中进行聚合,但速度非常慢。在Hive之外聚合是一个更好的选择吗?

感谢您的建议!

+0

几个问题来澄清。你多久会运行一次你的程序?你目前的数据是什么格式?多久改变一次数据?它只是新记录还是修改了现有记录? – hlagos

+0

@lake现在的过程是每天早上运行ETL。现有记录未被修改。只需从正在进行的事件流中读取新的JSON数据格式即可。 – codeBarer

+0

你在用什么发行版?你在做什么样的聚合? – hlagos

回答

1

考虑到您正在使用Cloudera,是否有理由不在Impala中执行聚合?将json数据转换为实木复合地板(如果没有很多嵌套结构,我会推荐这个)应该不是很贵。取决于您正在进行的聚合类型的另一种替代方法是使用Spark来转换数据(也将取决于您的许多群集大小)。我想给你更具体的提示,但不知道你正在做什么聚合是复杂的