ApacheHive一点一点进步(1)简单介绍
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了ApacheHive一点一点进步(1)简单介绍,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3106字,纯文字阅读大概需要5分钟。
内容图文
![ApacheHive一点一点进步(1)简单介绍](/upload/InfoBanner/zyjiaocheng/557/14f780c684bf4087b00212ebddda8f70.jpg)
Hive是一个 hadoop 的数据仓库,便于对 hadoop 中存储的大数据进行数据汇总,点对点查询,以及分析。 Hive提供了一套管理机制用于管理HDFS中的数据及一套类型于sql的查询语言HiveQL。 同时当HiveQL无法满足逻辑的时候,这种语言支持传统的MR程序,以插件的形
Hive是一个hadoop的数据仓库,便于对hadoop中存储的大数据进行数据汇总,点对点查询,以及分析。
Hive提供了一套管理机制用于管理HDFS中的数据及一套类型于sql的查询语言HiveQL。
同时当HiveQL无法满足逻辑的时候,这种语言支持传统的MR程序,以插件的形式集成到Hive的MR中。
Hive是apache基金会下的一个开源志愿者项目。以前他是一个Hadoop的子项目。但是现在他已经升级为一个顶级项目。
安装
Requirements Java1.6,hadoop0.20.xx选择一个稳定版进行安装 http://hive.apache.org/releases.html解压缩tarball。$ tar -xzvf hive-x.y.z.tar.gz$ cd hive-x.y.z $ export HIVE_HOME={{pwd}}
配置 Hive默认的配置是<install-dir>/conf/hive-DEFAULT.xml如果需要变更配置,可以重新配置于 <install-dir>/conf/hive-site.xmlLog4j配置储存于<install-dir>/conf/hive-log4j.propertiesHive的配置是基于对hadoop的一个覆盖,意思是hadoop的配置变量是缺省继承的。Hive变量的配置方法:1.修改hive-site.xml文件2.通过cli客户端使用SET命令进行3.通过授权hive使用如下语法$ bin/hive -hiveconf x1=y1 -hiveconf x2=y2
运行时配置
Hive的查询是通过MR查询执行的,因此,这样的查询行为都是被hadoop的配置变量进行控制的。hive> SET mapred.job.tracker=myhost.mycompany.com:50030;hive> SET -v;上面的最后一条语句可以显示当前的所有配置。如果不加-v参数,则只显示与基础的hadoop配置不同的配置。
Local模式
hive> SET mapred.job.tracker=LOCAL;hive> SET hive.EXEC.mode.LOCAL.auto=FALSE;$ export PATH=$HIVE_HOME/bin:$PATH
修改Log路径
bin/hive -hiveconf hive.root.logger=INFO,consolebin/hive -hiveconf hive.root.logger=INFO,DRFAMETASTOREmodel描述文件位置:src/contrib/hive/metastore/src/modelDML Operations默认的文件分割呼号是ctr+a文件上传的默认目录是: hive-DEFAULT.xml 中的hive.metastore.warehouse.dir上传文件的两种方式:本地文件LOAD DATA LOCAL INPATH './examples/files/kv2.txt' OVERWRITE INTO TABLE invites PARTITION (ds='2008-08-15');远程文件 LOAD DATA INPATH '/user/myname/kv2.txt' OVERWRITE INTO TABLE invites PARTITION (ds='2008-08-15');上面的命令会发生文件和目录的转移。将结果插入到HDFS INSERT OVERWRITE DIRECTORY '/tmp/hdfs_out' SELECT a.* FROM invites a WHERE a.ds='2008-08-15';将结果插入到本地文件INSERT OVERWRITE LOCAL DIRECTORY '/tmp/local_out' SELECT a.* FROM pokes a;
只定义mapper任务:py
import sysimport datetimeFOR line IN sys.stdin: line = line.strip() userid, movieid, rating, unixtime = line.split('\t') weekday = datetime.datetime.fromtimestamp(FLOAT(unixtime)).isoweekday() print '\t'.JOIN([userid, movieid, rating, str(weekday)])CREATE TABLE u_data_new ( userid INT, movieid INT, rating INT, weekday INT)ROW FORMAT DELIMITEDFIELDS TERMINATED BY '\t';ADD FILE weekday_mapper.py;INSERT OVERWRITE TABLE u_data_newSELECT TRANSFORM (userid, movieid, rating, unixtime) USING 'python weekday_mapper.py' AS (userid, movieid, rating, weekday)FROM u_data;SELECT weekday, COUNT(*)FROM u_data_newGROUP BY weekday;
原文地址:ApacheHive一点一点进步(1) 简单介绍, 感谢原作者分享。
内容总结
以上是互联网集市为您收集整理的ApacheHive一点一点进步(1)简单介绍全部内容,希望文章能够帮你解决ApacheHive一点一点进步(1)简单介绍所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。