
hive
文章平均质量分 57
iteye_3893
这个作者很懒,什么都没留下…
展开
-
hive查看建立表的类型是内部还是外部表
方式1, 进入mysql在 TBLS 表中, 有表名称和表类型。 方式2, 更直观, hive (default)> desc extended t; 查看 tableType:的结果,一般都在展示结果的最后显示 eg: hive (default)> desc extended t;OKcol_name data_...原创 2015-04-21 10:33:01 · 1191 阅读 · 0 评论 -
hive自定义函数 求和
oracle中有个业务是 各项指标相加求和的,迁移到hive上,自定义函数写法如下: public class SumTest extends UDF{ String retVal = ""; double sumpart = 0; public Text evaluate(String... args) { String part = ...原创 2016-03-26 13:24:01 · 1082 阅读 · 0 评论 -
hive 获取当前yyyy/MM/dd HH:mm:ss
以前是写自定义函数, 现在用这种方式可以实现: from_unixtime(unix_timestamp(), 'yyyy/MM/dd HH:mm:ss')原创 2016-03-25 11:05:00 · 2383 阅读 · 0 评论 -
hive -f执行整体脚本时,报错下如何知道前面执行多少个了
工作中,常将hive脚本写在一个 hive sql内,然后后台执行,如下: cdh集群下:sudo -u hdfs hive -f /cloud/qyjs-2016-03-08-part2.sql &> /cloud/qyjs-2016-03-08-part2.log 如果执行这个sql某块报错下,将 log拖拽到本地,然后搜...原创 2016-03-22 10:08:05 · 1067 阅读 · 0 评论 -
select join where执行顺序
select xxxxx from t1 join t2 on t1.sss = t2.dddd where t1.mmm > 3; 先执行 t1 join t2 在执行 where 条件 最后在执行 select xxxx 如果此时select xxx的字段是你重新命名的别名 , 那么按照上面顺序,回报错,报错说这个别名在t1 t...原创 2016-03-16 16:15:13 · 3024 阅读 · 0 评论 -
hive.groupby.skewindata环境变量与负载均衡 ---》待总结
转载 http://blog.youkuaiyun.com/evo_steven/article/details/17526725原创 2016-03-14 18:52:08 · 192 阅读 · 0 评论 -
hive 使用linux变量 修改表名
背景: 业务中需要创建表的时候,每个月执行都需要表名后有日期后缀,后缀到月份,现在的做法是: hive创建表语句和处理依旧不变,最后做完ETL后生成了最终表后, 在执行如下脚本即可: #!/bin/bashtablename="stu"currentdate=$(date +%Y%m)currentdate=$currentdat...原创 2016-03-11 09:23:04 · 434 阅读 · 0 评论 -
hbase+hive结合使用
1 hbase到hive的使用: 相当于从hive上创建一个外表,快捷引用到hbase表,这么做能利用上hive的sql查询能力,方便查询hbase数据。 a) hbase准备表和数据: create "test","base","cf","data"put "test","key1","base:name","ba原创 2016-02-29 09:00:31 · 327 阅读 · 0 评论 -
hive启动时报Exception in thread "main" java.lang.NoClassDefFoundError错误
0 报错如下: [root@hadoop3 ~]# hiveException in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/hive/conf/HiveConf at java.lang.Class.forName0(Native Method) ...原创 2016-02-28 18:20:35 · 2974 阅读 · 1 评论 -
hive开启和关闭推测执行
hive开启推测执行: mapred.map.tasks.speculative.execution=truemapred.reduce.tasks.speculative.execution=truehive.mapred.reduce.tasks.speculative.execution=true; hive关闭推测执行: http://ww...原创 2016-02-24 17:57:19 · 1206 阅读 · 0 评论 -
group by+having
对group by语句产生分组结果进行条件过滤方式: 1 group by + having hive> select year, avg(price) from stocks where exchange='nasddaq' group by year having avg(price)>50; 2 group by + 嵌套子查询...原创 2016-02-13 20:42:30 · 230 阅读 · 0 评论 -
hive 浮点类型比较(float double)
0 前提: 表employees中字段 taxes(税率)用类型float存储 hive> select name, salary, taxes from employees where taxes > 0.2 john 5300.0 0.2marry 9500.0 0.2jack 15000.0 0.3 ...原创 2016-02-13 15:13:46 · 13841 阅读 · 0 评论 -
将很多段逻辑sql放在一个hive文件执行 终止提交的任务做法
背景: hive工作中,将很多etl 脚本写在一起,然后整体提交,提交后突然后悔想取消 eg: qyjssum.sh: sudo -u hdfs hive -e " use ste_qyjs; 清洗逻辑1..... 清洗逻辑2.... 清洗逻辑3...... " 调用写...原创 2016-04-01 08:03:37 · 668 阅读 · 0 评论 -
hive log的分类和所在位置
hive中日志分为两种: 1 系统日志,记录hive运行情况,错误状态2 job日志 , 记录hive中 job执行的历史过程 系统日志存储位置:配置在 hive/conf/hive-log4j.properties 文件中记录了hive日志存储情况 默认存储信息:hive.root.logger=WARN,DRFAhive.log.di...原创 2016-04-01 11:10:02 · 1193 阅读 · 0 评论 -
hive -e 出现cannot recognize input nearXXX
做接口平台,将 hive sql放在shell里,用 hive -e "' select xxx, concat_ws(",",collect_set(字段)) 字段 from tablexxx;" 报 FAILED: ParseException line cannot recognize input near ',' ',' 'collect...原创 2016-04-18 15:40:37 · 44657 阅读 · 0 评论 -
hive 表操作语句
hive清空表数据:truncate table stu; Hive与表操作有关的语句1.创建表的语句:Create [EXTERNAL] TABLE [IF NOT EXISTS] table_name[(col_name data_type [COMMENT col_comment], ...)][COMMENT table_comment...原创 2015-04-09 17:31:01 · 101 阅读 · 0 评论 -
hive防止数据倾斜 参考资料
http://www.cnblogs.com/end/archive/2012/06/19/2554582.html 写的不错 风生水起 1数据倾斜的原因1.1操作:关键词情形后果Join其中一个表较小,但是key集中分发到某一个或几个Reduce上的数据远高于平均值...原创 2015-04-01 09:17:48 · 239 阅读 · 0 评论 -
2 hive库-表-数据加载
1 库操作 1 默认数据库"default"2 使用#hive命令后,不使用hive>use <数据库名>,系统默认的数据库。可以显式使用hive> use default;3 创建一个新库hive>CREATE DATABASE [IF NOT EXISTS] mydb [COMMENT] '....';[L...原创 2015-03-14 14:20:15 · 110 阅读 · 0 评论 -
1 hive变量调用几种方式
参考链接 http://www.crazyant.net/1451.html 疯狂蚂蚁 目前 hive需要的外部参数完全可以通过 将hive脚本写在 xxx.sh中 利用sh的变量来获取这是目前工作中最常用方式。 1 hive使用外部变量: 分为4种情况, hive中引用外部变量: 在代码中引用时使用${...};方式1:[...原创 2015-03-14 12:45:29 · 667 阅读 · 0 评论 -
csv文件导入hive表
1 csv格式(就是讲mysql表数据通过Sqlyog 导出时,默认的导出文件格式) CSV格式的文件也称为逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号。在本文中的CSV格式的数据就不是简单的逗号分割的),其文件以纯文本形式存储表格数据(数字和文本)。CSV文件由任意数目的记录组成,记录间以某...原创 2015-02-04 12:35:21 · 3002 阅读 · 0 评论 -
hive-4 hql语句对应mapreduce简介
1.1 Join的实现原理select u.name, o.orderid from order o join user u on o.uid = u.uid;在map的输出value中为不同表的数据打上tag标记,在reduce阶段根据tag判断数据来源。MapReduce的过程如下: 对应map-reduce代码如下: reduce :...原创 2014-12-18 15:41:56 · 1339 阅读 · 0 评论 -
hive-3 表连接和查询语句简介
1 表连接: Hive只支持等值连接, 诸如 > < 都不支持。如果连接语句中有WHERE子句,会先执行JOIN子句,再执行WHERE子句, 即 where是过滤join之后的内容。 数据:select * from user;+------+----------+| id | name |+------+----------+| 1 | ...原创 2014-12-17 21:00:52 · 607 阅读 · 0 评论 -
hive-2 数据导入导出方式(分区表)
1 hive数据加载方式:a) 使用load加载b) 用查询语句向表中插入数据 a) 使用LOAD DATA方式加载数据详解:命令格式如下LOAD DATA 【LOCAL】 INPATH ‘....’ 【OVERWRITE】 INTO TABLE t1 【PARTITION (...)】eg: load data local inpath '/usr/local/data...原创 2014-12-17 19:43:58 · 1056 阅读 · 0 评论 -
hive-1 受控表简介(分区表 桶表)
1 受控表(managed table): hive中将创建的表和实际对应hdfs目录结构和文件相对应,如果删除hive中创建的表,对应hdfs的目录和文件将不复存在,这种表叫做受控表。 受控表(managed table)包括内部表、分区表、桶表。 2 分区表简介: a) 分区表是把数据放在不同的磁盘文件中,hive数据库会对不同分区进行...原创 2014-12-17 13:20:03 · 355 阅读 · 0 评论 -
0 hive 简介,安装,本地文件上传到hive操作
1 简介: 架构图: hive和hadoop交互关系图: 上述流程图整理如下:1、通过用户界面提交SQL 驱动接收SQL2、驱动将SQL传送给编译器 3、编译器获得SQL 检查语法、匹配资源、去metastore查询4、metastore返回相应的数据库字段信息 优化SQL、产生执行计划5、驱动接收执行计划 将执行计...原创 2014-12-12 15:23:50 · 739 阅读 · 1 评论 -
hive增量对比后将增量数据插入原表
工作中,有个业务,需要将这个表每个月增加和修改的记录不断追加到这个表内: sql如下:f_courtannoucement_party: 法院公告 fct_pdffilename: pdf文件名称fct_name: 公告名称 insert overwrite table f_courtannoucement_partys...原创 2016-04-29 09:17:12 · 2901 阅读 · 0 评论 -
hive本地模式
看hive资料会看到hive本地模式这个介绍, 下面是查询网上资料后的一些整理: 大多数的Hadoop job是需要hadoop集群来处理大数据的,不过,有时hive的输入数据量是非常小的。在这种情况下,为查询执行任务的时间消耗可能会比实际job的执行时间要多的多,因此hive0.7版本后Hive开始支持任务执行选择本地模式(local mode),即任务提交到本地机器处...原创 2016-02-13 14:35:48 · 395 阅读 · 0 评论 -
hive学习过程中参考连接 疯狂蚂蚁
参考链接http://www.crazyant.net/%E5%85%B3%E4%BA%8E http://www.crazyant.net/原创 2016-01-25 09:10:13 · 101 阅读 · 0 评论 -
hive编程指南摘抄---待更新
摘抄仅是摘写个人关注的方面,想看全面的请下载附件。 0 前言: hive不是一个完整的数据库,hdfs设计本身约束和局限性限制了hive不能支持记录级别的更新,插入,删除操作,hive不支持事务。 hive不支持OLTP(联机事务处理)所需要的关键功能,更接近一个OLAP(联机分析技术)工具,但是hive并没有满足OLAP的联机部分,因为hadoop处理本身的...原创 2016-01-21 17:34:00 · 134 阅读 · 0 评论 -
hadoop查看文件大小(hdfs hive hbase)
可以查看 hdfs hive hbase文件存储大小hadoop fs -count 或者hdfs dfs -count /51JOB [root@chinadaas01 ~]# hadoop fs -count /hbase1/zzjg_detail文件夹数 文件数 这个目录下的文件bytes 查看文件夹下 各个目录的总大...原创 2015-10-28 16:22:14 · 7059 阅读 · 0 评论 -
hive return code 2的问题
在执行脚本: create table liuchengtmp1_%CHINDAASDATE% as select a.markcode, a.xiangmu, case when instrfun(xiangmu,'已注册(') >0 THEN '已注册' when instrfun(xiangmu,'初步审定(') >0 THEN '初步审定...原创 2015-10-10 13:40:05 · 3462 阅读 · 0 评论 -
hive 知识总结
hive为何要修改数据库: deby只支持一个SESSION会话,如果hive使用默认的deby,那么在linux客户端开启第二个Hive命令行的时候,会报错, 而mysql是支持多会话的数据库。 hive对应的列为何不规定长度: 不确定这些字段的长度, 而且最终存储在hdfs文件中(联想与txt)txt中也没法规定一个间隔列到底要固定存放多宽的举例。...原创 2015-08-25 15:27:22 · 328 阅读 · 0 评论 -
hive 字段间隔的一些说明
hive的列间隔需要在创建表的时候指定,通过 ROW FORMAT DELIMITED FIELDS TERMINATED BY ','来指定,上面是用,来间隔,而默认情况下 hive使用\001做列的间隔(列间隔就是说在hdfs中字段之间用什么符号间隔)而工作中,最经常使用 \t方式间隔,原因就是间隔后在hdfs文件中存储的列间隔规范,用肉眼看很容易区分哪里是哪里...原创 2015-08-17 17:10:55 · 664 阅读 · 0 评论 -
hiverc简介
文件是隐藏文件,我们可以用Linux的ls -a命令查看,我们在启动Hive的时候会去加载这个文件中的内容,因此可以再次文件中添加全局参数,比如你自定义的函数,一般这文件在 ~/下,如果没有,可以通过vi来自行创建次 .hiverc文件, 比如我这里设置的内容为: #在命令行中显示当前数据库名set hive.cli.print.current.db...原创 2015-08-15 17:03:18 · 277 阅读 · 0 评论 -
hive 创建自定义函数 和 hive加载说明
0 hive udf作用都限于对字段进行简单处理, udf定义好后被应用一般有三种方式: a) hiverc文件中 b) hql文件中写加载 c) hive/scrpits/ 根据文件名从小到大顺序来优先加载文件夹下的文件 据说这是工作中经常用到的 但是这是我工作中基本没用到过的。 1 模拟oracl函数 instr(xiangmu, '已注册('...原创 2015-08-15 16:32:45 · 461 阅读 · 0 评论 -
hive优化---待补充
hive优化: http://itindex.net/detail/46074-hive-%E4%BC%98%E5%8C%96-tips it瘾的。 hive优化是一个课题 需要在仔细整理http://www.aboutyun.com/thread-7392-1-1.html hive join 细节什么时候可以避免执行MapReduce?sele...原创 2015-07-23 16:52:19 · 104 阅读 · 0 评论 -
HIVE中join、semi join、outer join举例详解
HIVE中join、semi join、outer join举例详解举例子:hive> select * from zz0; 111111 222222 888888 hive> select * from zz1; 111111 333333 444444 888888hive> select * from zz0 join zz1 on zz0.uid =...原创 2015-07-16 13:44:37 · 324 阅读 · 0 评论 -
impala简介
impala 是运行于现有Hadoop基础设施上的实时互动SQL查询引擎,从而使hadoop hbase的数据支持实时查询,这意味着Impala为Hadoop打开了通向关系型数据库和传统商业智能工具的大门(后两者基于SQL查询)。是Cloudera公司主导开发的新型查询系统. 传统hive仅支持30%的sql,而且是转换为mr,效率较低。impala组成部分...原创 2015-07-13 11:43:08 · 415 阅读 · 0 评论 -
hive日志位置
日志记录了程序运行的过程,是一种查找问题的利器。Hive中的日志分为两种1. 系统日志,记录了hive的运行情况,错误状况。2. Job 日志,记录了Hive 中job的执行的历史过程。系统日志存储在什么地方呢 ?在hive/conf/ hive-log4j.properties 文件中记录了Hive日志的存储情况,默认的存储情况:hive.root.logger=WAR...原创 2015-07-03 16:09:19 · 145 阅读 · 0 评论 -
hive 常用命令
hive 开启命令窗口hive --service cli; hive --service metastore & 开启hive metastore hive --service hiveserver -p 11000 >/dev/null 2>&1 & 开启远程连接端口 hive sql文件执行方式:...原创 2015-07-03 15:23:19 · 384 阅读 · 0 评论