1、下载hive安装包
2、上传至linux服务器
3、拷贝安装包至hadoop用户主目录下
4、修改安装包所属组、所属用户为hadoop 这里用什么命令呢?(chown hadoop apache-hive-0.13.1-bin、chgrp hadoop apache-hive-0.13.1-bin)
5、添加hive-site.xml文件,这里一般拷贝hive-default.xml.template即可 cp hive-default.xml.template hive-site.xml
6、添加hive环境变量,配置HIVE_HOME 至.bashrc 中 source .bashrc
/home/hadoop/hive_testdata
CREATE TABLE test_1(id INT, name STRING, city STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
load data local inpath '/home/hadoop/hive_testdata' overwrite into table test_1
执行mapreduce
hive支持像mysql一样的sql,但是hive一般只有查询和插入(load),没有更新,在执行select *的时候直接把hdfs中的数据输出,不会执行mapreduce,当执行其他的时候就会先去hadoop集群上面执行mapreduce,然后将结果展现出来
hadoop分为两部分:存储(hdfs),计算(mapreduce)
首先,hive的源数据一定是存储在hdfs上面的。
例如:
[hadoop@localhost ~]$ hadoop fs -ls /user/hive
Found 1 items
drwxr-xr-x - hadoop supergroup 0 2015-01-08 21:04 /user/hive/warehouse
[hadoop@localhost ~]$ hadoop fs -ls /user/hive/warehouse
Found 1 items
drwxr-xr-x - hadoop supergroup 0 2015-01-08 21:04 /user/hive/warehouse/test_1
[hadoop@localhost ~]$ hadoop fs -ls /user/hive/warehouse/test_1/
Found 1 items
-rw-r--r-- 1 hadoop supergroup 21 2015-01-08 21:04 /user/hive/warehouse/test_1/hive_testdata
[hadoop@localhost ~]$ hadoop fs -ls /user/hive/warehouse/test_1/hive_testdata/
Found 1 items
-rw-r--r-- 1 hadoop supergroup 21 2015-01-08 21:04 /user/hive/warehouse/test_1/hive_testdata
[hadoop@localhost ~]$ hadoop fs -cat /user/hive/warehouse/test_1/hive_testdata/
1 a a1
2 b b1
3 c c1
那么在查询的时候,如果是select *,hive做的就比较简单,将hdfs中的数据合并并简单处理输出即可,不会走mapreduce
如果是其他相对复杂的查询,那么hive会将查询语句分解为mapreduce任务,然后将任务发送给集群,由mapreduce的jobtracker节点负责分发任务给tasktracker===
本来mapreduce也是集群方式,他主要分为jobtracker和tasktracker两类,jobtracker负责任务分发,tasktracker负责处理执行所分配到的任务
hive> select * from test_1;
OK
1 a a1
2 b b1
3 c c1
Time taken: 0.781 seconds, Fetched: 3 row(s)
hive> select id from test_1 group by id;
Total jobs = 1
Launching Job 1 out of 1
Number of reduce tasks not specified. Estimated from input data size: 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_201412251631_0001, Tracking URL = http://localhost:50030/jobdetails.jsp?jobid=job_201412251631_0001
Kill Command = /home/hadoop/hadoop-1.2.1/libexec/../bin/hadoop job -kill job_201412251631_0001
Hadoop job information for Stage-1: number of mappers: 1; number of reducers: 1
2015-01-08 21:09:01,496 Stage-1 map = 0%, reduce = 0%
2015-01-08 21:09:03,531 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 1.48 sec
2015-01-08 21:09:11,625 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1.48 sec
2015-01-08 21:09:12,639 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 4.17 sec
MapReduce Total cumulative CPU time: 4 seconds 170 msec
Ended Job = job_201412251631_0001
MapReduce Jobs Launched:
Job 0: Map: 1 Reduce: 1 Cumulative CPU: 4.17 sec HDFS Read: 237 HDFS Write: 6 SUCCESS
Total MapReduce CPU Time Spent: 4 seconds 170 msec
OK
1
2
3
Time taken: 21.549 seconds, Fetched: 3 row(s)
分享到:
相关推荐
hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。
根据提供的信息,我们可以推断出该文档主要围绕"Hive编程指南"展开,并且与Linux公社这一平台...通过上述介绍,相信读者已经对Hive有了初步的了解。接下来,可以通过实际操作进一步深入学习Hive的相关知识和技术细节。
通过以上步骤,我们可以初步了解到如何利用Hive对电商销售数据进行分析,这对于提升业务决策效率和改善用户体验都具有重要意义。未来还可以进一步探索更多高级的数据分析技术和工具,以应对日益复杂的数据处理需求。
### Apache Hive面试题详解 #### 一、Hive Metastore的三种模式 ...通过以上内容,我们详细了解了Apache Hive的重要知识点,这些内容不仅对于准备面试的求职者来说非常有用,同时也为Hive的深入学习提供了扎实的基础。
了解Hive SQL的执行顺序,有助于我们写出更高效、更高质量的代码。Hive SQL的执行大致可以分为以下几个步骤: 1. **确定数据源**:首先确定查询的数据来源,包括表的连接类型(如LEFT JOIN、RIGHT JOIN、INNER JOIN...
这个版本号1.0.0b2意味着这是版本1.0.0的第二个测试版本,可能包含了对Hive的初步支持和一些基本功能。 综合这些信息,我们可以了解到如何在Airflow中使用这个提供商包来与Hive进行交互,例如创建Hive连接,编写DAG...
然后,借助Hive进行离线批处理分析,生成初步的报告和洞察;接着,通过Python进行可视化,将复杂的数据结果转化为易于理解的图表;最后,如果需要更复杂的分析或者实时响应,可以引入Spark进行内存计算,提高分析...
【Hadoop初步了解和在单机环境下的配置】 Hadoop是一个开源的分布式并行编程框架,它基于MapReduce计算模型,使得程序员能够方便地编写处理大量数据的分布式应用。Hadoop还包括一个分布式文件系统——Hadoop ...
在这个项目中,MapReduce可能被用来进行初步的数据清洗、预处理和特征提取,例如统计不同页面的访问量、用户停留时间等。而Hive则可能用于进一步的数据分析和报表生成,如计算每日活跃用户数、用户行为模式分析等。...
通过以上步骤,我们可以全面地了解YouTube视频网站的用户行为和内容流行度,为业务决策提供数据支持。在实际项目中,可能还需要考虑数据时效性、性能优化、数据安全性等因素,确保数据分析的准确性和效率。
适用人群:适用于从事大数据领域研究和技术工作的专业人员,尤其是负责数据分析、ETL工程实施的工程师,需要有Linux操作系统的基础以及对Hadoop生态系统的初步认识。 使用场景及目标:针对有大规模数据处理需求的...
- **测试数据**:example_data.log,包含10条样例数据,用于初步验证流程的正确性。 - **正式数据**:access_2017-05-30.log,包含548066条真实日志记录,用于正式分析。 #### 案例任务 1. **Linux系统安装**:...
2. **基础数据模型(DWD)**:这一层的数据经过初步清洗和转换,通常采用实体关系(ER)模型构建。 3. **汇总层(DWM)**:该层包含轻度汇总和高度汇总的数据模型,通常采用维度建模方法,便于进行数据分析和报表...
学生需要了解如何安装、配置并使用MySQL。 Hadoop是大数据处理的核心框架,提供了分布式文件系统HDFS和MapReduce计算模型。学生在案例中会学习如何安装Hadoop,并在HDFS中存储和管理数据。Hive是基于Hadoop的数据...
方便好用,适合初步学习者,直接拷贝到自己根目录下,附加即可。...通过此项目,回顾并串联前面讲述的离线数据处理相关技术,如:FIune、Sqoop、Hive、Spark等,了解和掌握PB级数据离线处理的一般过程和架构。
进行简单的查询操作,如统计用户数量、查询特定关键词等,初步了解数据的整体情况。 - **用户行为分析** 分析用户的购买行为、关注行为等,以洞察用户的偏好和习惯。 **3. 数据从Hive导入MySQL** - **使用Sqoop...
数据描述则是对原始日志的初步了解,包括数据来源、数据格式、字段含义等。 3. 数据预处理: 这一阶段是数据分析的关键步骤,包括数据扩展、数据过滤和数据加载。数据扩展可能涉及增加新字段或计算衍生指标;数据...
6. 认识ZooKeeper,学会集群搭建,了解其在Hadoop集群中的协调作用。 7. 学习HBase的基本原理、架构,掌握API编程,以及数据的导入导出操作。 8. 通过综合案例,提升Hadoop及相关框架的开发和应用能力。 二、实训...
6. 数据仓库工具Hive:理解Hive的作用,熟悉Hive接口,用Hive解决实际数据分析问题。 7. 开源集群计算环境Spark:学习Spark的基本思想,熟悉Spark环境和API,完成Spark实战项目。 8. 流实时处理系统Storm:掌握...