我正在使用 Hive 来查询我拥有的数据。问题是,这些数据需要清理,而且对于我来说太大了,无法在我的计算机上尝试处理它(因此使用 Hadoop 和 Hive)。有没有办法让我用 Hive 做到这一点?我研究了用户定义的函数,但我的理解是它们逐行操作,因此可能不是清理数据的最佳方式。
谢谢
我正在使用 Hive 来查询我拥有的数据。问题是,这些数据需要清理,而且对于我来说太大了,无法在我的计算机上尝试处理它(因此使用 Hadoop 和 Hive)。有没有办法让我用 Hive 做到这一点?我研究了用户定义的函数,但我的理解是它们逐行操作,因此可能不是清理数据的最佳方式。
谢谢
您应该使用 MapReduce 程序清理数据。甚至可能不使用会提高性能的减速器。
MapReduce 程序的工作方式类似于缓冲文件读取器,一次读取一行数据。您可以对每一行执行清理操作,然后将其插入到配置单元表中进行查询。
what is your data size?
what is your cleaning operation?
如果你的清理操作不能在 Hive 的帮助下完成,那么只能使用 mapreduce/pig。
如果您的问题是配置单元的性能,请尝试对其进行优化。
优化取决于您的清洁操作。您可以使用distribution cache
等map side joins
...