【问题标题】:Hadoop Basics: What do I do with the output?Hadoop 基础知识:我如何处理输出?
【发布时间】:2011-06-08 04:43:22
【问题描述】:

(我确定存在类似的问题,但我还没有找到我正在寻找的答案。)

我使用 HadoopHive(供熟悉 SQL 的开发人员使用)每晚批处理数 TB 的数据。从几百个大型 CSV 文件的输入中,我输出了四五个相当大的 CSV 文件。显然,Hive 将这些存储在 HDFS 中。最初这些输入文件是从一个巨大的 SQL 数据仓库中提取的。

Hadoop 非常有价值。但是处理输出的行业标准是什么?现在我正在使用 shell 脚本将它们复制回本地文件夹并将它们上传到另一个数据仓库。

这个问题:(Hadoop and MySQL Integration)称重新导入Hadoop导出的做法不规范。 如何使用 BI 工具探索我的数据,或将结果集成到我的 ASP.NET 应用程序中? Thrift?原型? Hive ODBC API 驱动程序?一定有更好的办法.....

启发我。

【问题讨论】:

  • “Thrift?Protobuf?Hive ODBC API 驱动程序?一定有更好的方法......”你能更具体地说明你不喜欢这些吗?或者从 HDFS 复制它?对于许多不同的情况,它们似乎都是不错的选择。
  • 当然。有很多不同的选项,我想知道处理输出的最常用方法是什么。有谁知道雅虎用什么?其他网络分析公司?现在这个领域有很多噪音,我们希望确保我们的决定会得到大力支持。
  • 这并不是说我们不喜欢这些选项。它们每个都有引人注目的用例,尤其是 Thrift 和 Protobuf。但这是访问 Hadoop 输出的正确方式吗? (高度主观,但值得考虑)
  • 这是可以理解的。在这种情况下,这听起来像是一个社区 Wiki 问题。正如您所说,它非常主观 - 有很多可能的答案,您更感兴趣的是探索不同的人出于什么原因使用什么。

标签: hadoop protocol-buffers thrift hive hadoop-plugins


【解决方案1】:

在foursquare,我使用Hive 的Thrift 驱动程序根据需要将数据放入数据库/电子表格。

我维护一个作业服务器,它通过 Hive 驱动程序执行作业,然后将输出移动到需要的地方。直接使用 Thrift 非常简单,并且允许您使用任何编程语言。

如果您直接处理 hadoop(并且不能使用它),您应该查看Sqoop, built by Cloudera

Sqoop 设计用于批量移动数据(而 Flume 设计用于实时移动数据,并且似乎更倾向于将数据放入 hdfs 而不是取出数据)。

希望对您有所帮助。

【讨论】:

  • 很好的答案。谢谢。除了 Facebook 幻灯片之外,我在现实生活中的工作流程中没有看到太多其他内容。
猜你喜欢
  • 1970-01-01
  • 2015-01-19
  • 2016-09-19
  • 2022-01-06
  • 1970-01-01
  • 2013-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多