hive
cs_mycsdn
慢慢整理所学的知识
展开
-
Linux环境下hive的安装
一 Hive简介在Hadoop生态圈中属于数据仓库的角色。Hive能够管理Hadoop中的数据,同时可以查询Hadoop中的数据。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制; Hive定义了简单的类SQL查询语言,称为HQL ,它允许熟悉SQL的用户查询数据。同时,这个语言也允许熟悉MapReduce开发...原创 2018-09-06 17:06:13 · 14816 阅读 · 0 评论 -
hive----执行钩子(适用于数据新增内容)
当表中储存的文件在hive之外被修改了了,就会触发执行钩子。例如:某脚本想分区中写入了新的日志信息,可以在hive cli中进行下面的调用hive -e 'alter table 表名 touch partittion(day=2010-12-18);'没有更深入的了解,个人觉得很符合实际工作的需求。如果有高手了解相关的信息,欢迎互粉,相互交流...原创 2018-09-29 23:40:56 · 1185 阅读 · 2 评论 -
hive--json解析函数
内置函数json_tuple(jsonStr, k1, k2, ...)参数为一组键k1,k2……和JSON字符串,返回值的元组。该方法比 get_json_object 高效,因为可以在一次调用中输入多个键hive中如何定义自己的函数: 1、先写一个java类(extends UDF,重载方法public C evaluate(A a,B b)),实现你所想要的函数的功能(传...原创 2018-09-29 17:04:50 · 14293 阅读 · 0 评论 -
hive---内置函数(3)集合函数、条件控制函数、窗口分析函数
集合函数sort_array(字段名);----对字段进行排序size(Map<k,v>);-------计算map个数,返回intmap_keys(Map<k,v>);-------字段中所有的key值 返回数组map_values(Map<k,v>);-------字段中所有的values值,返回数组条件控制函数case whe...原创 2018-09-29 16:29:43 · 1432 阅读 · 0 评论 -
sqoop安装
Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。前置环境:jdk,Hadoop,mysql,hbase,hive,zookeeper安装...原创 2018-10-08 17:09:17 · 182 阅读 · 0 评论 -
hive---内置函数(2)表生成函数
表生成函数:可以理解为一个函数可以生成一个表行转列函数:explode(字段名--hive中集合类型中的array,map)----炸开字段内容distinct去重select distinct sub from (select explode(subjects) as sub from t_stu_subject) temp;表生成函数:lateral view目标表...原创 2018-09-28 22:43:59 · 787 阅读 · 0 评论 -
hive---内置函数(1)
类型转换函数cast强制转换select cast("5" as int)---------将字符串5转换为int类型 字符串转成时间戳select unix_timestamp("2018/09/20 19:50:29","yyyy/MM/dd HH:mm:ss");数学运算符round------正数的四舍五入,负数的五舍六入:select round (5.4)---...原创 2018-09-28 22:00:50 · 181 阅读 · 0 评论 -
hive---数据类型
数字类型tinyint------微整数(-128至127)smallint-------2字节相当于java中的shortint/integer---4字节bigint-----8字节(相当于java中的long)float----4字节(浮点型)小数double--8字节(浮点型精度更高)小数日期时间类型timestamp-------时间戳date----...原创 2018-09-28 18:22:05 · 453 阅读 · 1 评论 -
hive学习--查询语法
基本查询select * from 表名;select count(1) from 表名; -- 计数 单行函数select max(ip) from 表名;----------使用max函数 聚合函数select uid(字段名)from 表名 limit 10(数量);----------------------查询表中uid字段的头10...原创 2018-09-28 16:48:46 · 688 阅读 · 0 评论 -
hive学习--建分区表
创建内部表创建表语句:create table [if not exists] linuxidc_hive_log ( num string, sn string,userkey string);执行后:会在库目录下生成表目录,默认分隔符为^A。create table [if not exists] linuxidc_hive_log ( num string, sn str...原创 2018-09-28 13:34:52 · 4451 阅读 · 0 评论 -
hive学习--脚本化运行方式
hive 可以使用一次性命令的方式来执行给定的大量的hql语句。hive -e "SQL语句"例如: vi hivesqlaa.hql#! /bin/bashhive -e "create table t_name(name string,age int,sex string);"hive -e "insert into table t_name select a_name,a...原创 2018-09-27 17:00:33 · 208 阅读 · 0 评论 -
hive--数据操作(数据导入导出)
数据导入向表导入数据 load data [local] inpath 'hdfs://master:9000/xx/[文档]' [overwrite] into table 表 注意:如果表有分区,load data [local] inpath 'hdfs://master:9000/xx/[文档]' [overwrite] into table 表 partition(year...原创 2018-09-27 17:00:16 · 257 阅读 · 0 评论 -
hive学习--基本使用和创建内外部表
数据库查看数据库: hive> show databases; hive>show databases like 'h.*';---展示以h开头的所有数据库,注意:like后字符串匹配使用正则创建数据库: hive> create database [if not exitsts] 数据库名 ...原创 2018-09-27 17:00:38 · 324 阅读 · 0 评论 -
FAILED: SemanticException org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeExcepti
hive 启动 或者做增删该查时,如果报错FAILED: SemanticException org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaS...原创 2018-09-27 11:27:10 · 4326 阅读 · 0 评论 -
hive------设计原则
1 使用分区管理HDFS文件分区避免查询数据进行HDFS全盘扫描,一个表分区数量不要太多(导致每一个分区创建一个task,每一个task是一个jvm实例),没个分区中的文件尽量大(与HDFS数据块保持一致,默认128M)2 hive反标准化传统的RDBMS有标准化,例如唯一键、主键等;hive没有主键、唯一键的概念,目标优化磁盘驱动的IO性能3 hive允许从一个表中同时向多张...原创 2018-10-08 23:40:27 · 1327 阅读 · 0 评论