Hive
TOMOCAT
知乎可私信: TOMOCAT
展开
-
[hive]HIVE编程指南-第二章基础操作
一、命令行界面CLI1、变量和属性--define key=value与—hivevar key=value是等价的hive中变量和属性命名空间 命名空间 使用权限 描述 hivevar 可读/可写 (Hive v0.8.0后)用户自定义变量 hiv...原创 2018-07-17 18:08:54 · 23112 阅读 · 0 评论 -
[Hive]时间戳转换为日期
select from_unixtime(cast(substring(insert_time,1,10) as bigint),'yyyy-MM-dd HH:mm:ss') as timefrom s_mysql_captain_manual_operation_record_dflimit 20;原创 2018-12-27 14:33:44 · 38618 阅读 · 0 评论 -
[HIVE]shell中设定日期变量
today=`date -d "-1 day" +%Y%m%d`原创 2018-11-27 14:36:16 · 36992 阅读 · 0 评论 -
[Hive]hive分区设置注意事项
1、分区不宜过多创建分区可以让Hive不必对输入进行全盘扫描,确实可以优化查询。但是使用过多分区会带来两方面的问题:(1)HDFS设计用于存储数百万的大文件,而不是数十亿的小文件。使用过多分区会创建大量的非必须的hadoop文件和文件夹。一个分区对应一个包含多个文件的文件夹。如果指定的表存在数百个分区,则可能每天都会创建好几万个文件。(2)MapReduce会将一个任务(job)转化成多个任...原创 2018-08-16 12:45:15 · 27502 阅读 · 0 评论 -
[Hive]Hive实现抽样查询
对于非常大的数据集,有时用户需要使用的知识一个具有代表性的查询结果,而不是全部结果。Hive可以通过对表进行分桶抽样来满足这个需求。1、分桶抽样查询select * from numbers TABLESAMPLE(BUCKET 3 OUT OF 10 ON number) s;其中tablesample是抽样语句,语法:TABLESAMPLE(BUCKET x OUT OF y)...原创 2018-08-16 11:22:49 · 29695 阅读 · 0 评论 -
[Hive]Hive排序优化
1、从order by 到 sort byorder by:全局排序,大数据集会消耗太过漫长的时间sort by:只会在每个reducer 中对数据进行排序,也就是执行局部排序过程,只能保证每个reducer的输出数据都是有序的(但并非全局有序)2、sort by+distribute bydistribute by控制map的输出在reducer中是如何划分的。假设我们希望具有相同股票交...原创 2018-08-15 16:16:04 · 31664 阅读 · 1 评论 -
[Hive]Hive中表连接的优化,加快查询速度
1、多表连接的执行顺序和MapReduce job优化select a.ymd ,a.price_close ,b.price_close ,c.price_closefrom stocks a join stocks b on a.ymd = b.ymd join stocks c on a.ymd = c.ymdwhere ...原创 2018-08-15 15:28:24 · 45999 阅读 · 0 评论 -
[Hive]调用本地模式,避免使用MapReduce
大多数情况下查询都会触发一个MapReduce任务(job)。Hive中对于某些查询可以不必使用MapReduce,也就是所谓的本地模式,例如:SELECT * FROM employeesWHERE country = 'US' and state = 'CA'LIMIT 100;通过修改属性的值,Hive还是尝试使用本地模式执行其他的操作:set hive.exec.mod...原创 2018-08-14 21:07:36 · 29066 阅读 · 0 评论 -
[Hive]建表实例与参数解释——自定义表的存储格式(textfile、sequencefile、refile)
一、建表实例create external table `beatles_bi_dm.driver_butie_order_info`( `drive_license_number` bigint COMMENT '1', `drive_num` bigint COMMENT '2', `order_num` ...原创 2018-08-14 20:03:03 · 31863 阅读 · 0 评论 -
[hive]hive中分区表详解
一、数据分区的意义 例如HR对employees表进行查询的时候,经常会加上where条件指示state和country。使用分区表不仅有巨大的性能优势而且可以将表从物理上转移到和使用最频繁的用户更近的地方。CREATE TABLE employees( name STRING, salary FLOAT, s...原创 2018-07-25 17:01:45 · 25098 阅读 · 0 评论 -
[hive]hive中查找表或者查看表的信息
一、查找表--查看数据库中所有表SHOW TABLES IN db_name;--使用正则表达式过滤表USE db_name;SHOW TABLES 'employ.*';二、查看已创建的表信息DESCRIBE EXTENDED db_name.table_name--FORMATTED关键字替代EXTENDED能提供更加可读和冗长的输出信息DESCRIBE mydb...原创 2018-07-25 14:19:53 · 102012 阅读 · 0 评论 -
[hive]hive中创建表
一、创建表语句CREATE TABLE IF NOT EXISTS mydb.employees( name STRING COMMENT 'Employee name', salary FLOAT subordinates ARRAY<STRING> deductions MAP<ST...原创 2018-07-25 14:14:46 · 25563 阅读 · 0 评论 -
[hive]为数据库的DBPROPERTIES设置键值对属性值
hive> ALTER DATABASES db_name SET DBPROPERTIES ('edited-by'='Joe Dba')--没有办法可以删除或者“重置”数据库属性原创 2018-07-25 13:47:38 · 34025 阅读 · 1 评论 -
[hive]left join 与left outer join
一、inner join 与 outer joinInner Join 逻辑运算符返回满足第一个(顶端)输入与第二个(底端)输入联接的每一行。这个和用select查询多表是一样的效果,所以很少用到;outer join则会返回每个满足第一个(顶端)输入与第二个(底端)输入的联接的行。它还返回任何在第二个输入中没有匹配行的第一个输入中的行。关键就是后面那句,返回的多一些。所以通常意义上的lef...原创 2018-07-25 12:34:42 · 44704 阅读 · 0 评论 -
[hive]删除数据库
--删除数据库hive> DROP DATABASES IF EXISTS db_name;--Hive不允许删除一个包含表的数据库,要么先删除表,要么在删除命令后加上CASCADEhive> DROP DATABASES IF EXISTS db_name CASCADE; ...原创 2018-07-25 10:24:46 · 25011 阅读 · 0 评论 -
[hive]显示当前所在的数据库
一、键入命令:set hive.cli.print.current.db=true;二、hive右边会显示当前的数据库原创 2018-07-24 20:57:38 · 31894 阅读 · 0 评论 -
[hive]HIVE编程指南-第三章数据类型和文件格式
1、cast 类型转换函数cast(s AS INT)2、理解ARRAY、MAP和STRUCT三种集合数据类型3、文本文件数据编码:(1)\n(2)^A(3)^B(4)^C4、修改字段分隔符CREATE TABLE some_date( first FLOAT, second FLOAT, third FLOAT...原创 2018-07-17 20:48:38 · 22983 阅读 · 0 评论