最好从Pig中读取Hive或平面文件?

时间:2016-12-30 19:07:59

标签: hadoop mapreduce hive apache-pig

无法在任何地方找到直接答案。我正在将一个传入的数据集加入到以前存在于Web服务后面的MySQL表中的几个大表中。我将表转储到Hadoop中的平面CSV文件中,我使用Pig来加载传入的数据集和表文件,并执行连接。

它很慢,因为有几个表文件要加入,因为文件本身太大了。我只是想LEFT OUTER加入一个领域,没什么特别的。

所以,我的问题是,将CSV文件加载到Hive表并在Pig中使用HCatLoader而不仅仅是加载CSV文件是否有任何性能优势?除了类似SQL的接口之外,Hive似乎没有提供查询表的任何好处,这与我刚刚将数据集加入到整个事物时无关紧要。

1 个答案:

答案 0 :(得分:0)

根据Oreilly的编程猪(页165):

  

Hive提供SQL,它是传统数据的更好工具   分析。大多数数据分析师已经熟悉SQL,并且   商业智能工具期望与SQL中的数据源对话。   在构建数据管道或执行数据时,Pig Latin是更好的选择   研究原始数据。

所以简单来说,Hive可以更好地查询。用于构建数据管道的PIG。 PIG over Hive用于优化查询。

如果您要进行许多可能使用分区的连接,那么PIG over Hive非常有用。

如果您只打算进行左连接,则可能不需要。然后再进一步查询和分析Hive会更好。

阅读:difference b/w hive and pigalso read this