hadoop - Hive 需要很长时间才能启动 hadoop 作业

标签 hadoop hive

我是 Hadoop 和 Hive 的新手。我正在使用 Hive 与 Hadoop 的集成来执行查询。当我提交任何查询时,控制台上会显示以下日志消息:

Hive history file=/tmp/root/hive_job_log_root_28058@hadoop2_201203062232_1076893031.txt Total MapReduce jobs = 1 Launching Job 1 out of 1 Number of reduce tasks determined at compile time: 1 In order to change the average load for a reducer (in bytes): set hive.exec.reducers.bytes.per.reducer= In order to limit the maximum number of reducers: set hive.exec.reducers.max= In order to set a constant number of reducers: set mapred.reduce.tasks= Starting Job = job_201203062223_0004, Tracking URL = http://:50030/jobdetails.jsp?jobid=job_201203062223_0004 Kill Command = //opt/hadoop_installation/hadoop-0.20.2/bin/../bin/hadoop job -kill job_201203062223_0004 Hadoop job information for Stage-1: number of mappers: 1; number of reducers: 1 2012-03-06 22:32:26,707 Stage-1 map = 0%, reduce = 0% 2012-03-06 22:32:29,716 Stage-1 map = 100%, reduce = 0% 2012-03-06 22:32:38,748 Stage-1 map = 100%, reduce = 100% Ended Job = job_201203062223_0004 MapReduce Jobs Launched: Job 0: Map: 1 Reduce: 1 HDFS Read: 8107686 HDFS Write: 4 SUCCESS Total MapReduce CPU Time Spent: 0 msec OK

以粗体显示的文本启动了一个 hadoop 作业(我就是这么认为的)。开始工作需要很长时间。一旦这条线被执行,map reduce 操作就会迅速执行。以下是我的问题:

  1. 有什么方法可以更快地启动 hadoop 作业。是否可以跳过此阶段?
  2. “Kill command”的值从何而来(粗体字)?

如果需要任何输入,请告诉我。

最佳答案

1) 开始工作 = job_201203062223_0004,跟踪 URL = http://50030/jobdetails.jsp?jobid=job_201203062223_0004

ANS:你的 HQL 查询 > 翻译成 hadoop 作业 > hadoop 会做一些后台工作(比如规划资源、数据局部性、处理查询所需的阶段、启动配置、作业、taskids 生成等)> 启动映射器 > sort && shuffle > reduce (aggregation) > 结果到 hdfs 。

上面的流程是hadoop job生命周期的一部分,所以没有跳过任何..

http://namenode:port/jobtracker.jsp --- 你可以通过 job-id 查看你的工作状态:job_201203062223_0004,(监控)

2) 终止命令 = HADOOP_HOME/bin/hadoop job -kill job_201203062223_0004

回答:在启动您的映射器之前,您将看到这些行,因为 hadoop 适用于大数据,这可能需要或多或少的时间,具体取决于您的数据集大小。所以在任何时候,如果你想结束这份工作,求助热线。对于任何 hadoop-job 都会显示这一行,显示这样的信息行不会花费太多时间。


关于您的评论的一些插件:

  • Hive 不适用于低延迟作业,我的意思是不可能立即获得结果。 (请检查 apache.hive 中的配置单元用途)
  • Hive 中存在启动开销(请参阅 q1s - hadoop 将执行一些后台工作),这是无法避免的。

  • 即使对于小规模的数据集,这些启动在 hadoop 中也存在。

PS :如果您真的希望及时得到快速结果(请引用 shark )

关于hadoop - Hive 需要很长时间才能启动 hadoop 作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21375695/

相关文章:

mongodb - 如何为 CDH4 安装 mongo-hadoop?

hadoop - Hadoop心跳消息交换

sql - Hive 复杂类型处理一对多关系

hadoop - MapReduce中的HashPartition

hadoop - 使用 piggybank 和 AvroStorage 解决 EMR 问题

hadoop - 外部加入后配置单元缺少字段

xml - HiveQL & XPath - 如何提取值和替换一些字符

hadoop - 使用查找表将数据插入Hive表

hadoop - Hive修改分区表数据

hadoop - 更好地从 Hive 或 Pig 中的平面文件读取?