根据this和其他参考资料,Pig比Hive更好地处理非结构化数据。因此,数据首先用Pig清理,然后用Hive处理。
但是,在数据工厂中,数据可能尚未处于良好的标准化状态。这使得Pig非常适合这个用例,因为它支持部分或未知模式的数据,以及半结构化或非结构化数据。
想了解更多Pig如何处理非结构化数据,而Hive则不能。
答案 0 :(得分:2)
Pig构建用于处理模式较少的数据集。在hive中,我们强制执行存储在derby中的模式,或者可以配置为存储在mysql中。现在还不清楚你在寻找什么!
答案 1 :(得分:0)
Pig和Hive的主要区别在于Pig是一种数据流语言,而Hive是一种声明性语言。话虽如此,Pig可以处理未定义架构的非结构化数据,而Hive需要架构。此外,在某些情况下,Pig还可以用于将数据与架构连接,从而使其优先于Hive。相比之下,Hive将Hadoop转换为数据仓库,其行为类似于SQL方言。最后,您可能想知道Jaql是另一种数据流语言。与Pig不同,它的原生数据结构格式是JSON。同样,Jaql不需要架构。希望这会有所帮助。