Hive基础之Hive的复杂类型

Array

一组有序字段,字段的类型必须相同。Array(1,2)

create table hive_array(ip string, uid array<string>)
row format delimited
fields terminated by ‘,‘
collection items terminated by ‘|‘
stored as textfile;
load data local inpath "/home/spark/software/data/hive_array.txt" overwrite into table hive_array;

hive_array.txt

192.168.1.1,www.baidu.com|www.google.com|www.qq.com
192.168.1.2,www.baidu.com|www.sina.com|www.sohu.com
192.168.1.3,www.qq.com|www.163.com|www.youku.com
select * from hive_array;
192.168.1.1     ["www.baidu.com","www.google.com","www.qq.com"]
192.168.1.2     ["www.baidu.com","www.sina.com","www.sohu.com"]
192.168.1.3     ["www.qq.com","www.163.com","www.youku.com"]

使用下标访问,下标从0开始:

select ip, uid[0] as id from hive_array;
192.168.1.1     www.baidu.com
192.168.1.2     www.baidu.com
192.168.1.3     www.qq.com

查看数据长度:

select size(uid) from hive_array;
3
3
3

数组查找:

select * from hive_array where array_contains(uid, "www.baidu.com");
192.168.1.1     ["www.baidu.com","www.google.com","www.qq.com"]
192.168.1.2     ["www.baidu.com","www.sina.com","www.sohu.com"]

Struts

Map

Hive基础之Hive的复杂类型

时间: 2024-08-24 23:58:28

Hive基础之Hive的复杂类型的相关文章

Hive基础之Hive的存储类型

Hive常用的存储类型有: 1.TextFile: Hive默认的存储类型:文件大占用空间大,未压缩,查询慢: 2.Sequence File: 3.RCFile:facebook开发的一个集行存储和列存储的优点于一身,压缩比更高,读取列更快,它在mr环境中大规模数据处理中扮演着重要的角色:是一种行列存储相结合的存储方式,首先它将数据按行分块,保证同一个record在一个块中,避免读取一个记录需要读取多个record:一般情况下,hive表推荐使用RCFile: RCFile案例: 创建表: c

Hive基础之Hive体系架构&amp;运行模式&amp;Hive与关系型数据的区别

Hive架构 1)用户接口: CLI(hive shell):命令行工具:启动方式:hive 或者 hive --service cli ThriftServer:通过Thrift对外提供服务,默认端口是10000:启动方式:hive --service hiveserver WEBUI(浏览器访问hive):通过浏览器访问hive,默认端口是9999:启动方式:hive --service hwi 2)元数据存储(Metastore):启动方式:hive -service metastore

Hive基础之Hive是什么以及使用场景

Hive是什么1)Hive 是建立在Hadoop (HDFS/MR)上的用于管理和查询结果化/非结构化的数据仓库:2)一种可以存储.查询和分析存储在Hadoop 中的大规模数据的机制:3)Hive 定义了简单的类SQL 查询语言,称为HQL,它允许熟悉SQL 的用户查询数据:4)允许用Java开发自定义的函数UDF来处理内置无法完成的复杂的分析工作:5)Hive没有专门的数据格式(分隔符等可以自己灵活的设定): ETL的流程(Extraction-Transformate-Loading):将关

Hive基础之Hive环境搭建

Hive默认元数据信息存储在Derby里,Derby内置的关系型数据库.单Session的(只支持单客户端连接,两个客户端连接过去会报错): Hive支持将元数据存储在关系型数据库中,比如:Mysql/Oracle: 本案例采用的是将hive的元数据存储在MySQL中,故需要先安装MySQL数据库,使用的是CentOS6.4版本. MySQL安装 采用yum安装方式安装: yum install mysql #安装mysql客户端 yum install mysql-server #安装mysq

Hive基础之Hive表常用操作

本案例使用的数据均来源于Oracle自带的emp和dept表 创建表 语法: CREATE [EXTERNAL] TABLE [IF NOT EXISTS] [db_name.]table_name [(col_name data_type [COMMENT col_comment], ...)] [COMMENT table_comment] [PARTITIONED BY (col_name data_type [COMMENT col_comment], ...)] [CLUSTERED

【Hive三】Hive理论

1. Hive基础 1. Hive基础 Hive基本概念 引入原因: Hive是什么 Hive数据管理 四种数据模型 Hive内部表和外部表 Hive数据类型 Hive的优化 Map的优化: Reduce 的优化 一个Reduce: 分区裁剪(partition) 笛卡尔积 Map join Union all Multi-insert & multi-group by Automatic merge Multi-Count Distinct Hive优化-- 大小表关联 Hive优化-- 大大

【Hive】Hive 基础

Hive架构: Hive基础 1 概念 1.1 简介 1.1.1 hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表, 并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行.--OLAP 1.2 背景 1.2.1 OLAP逻辑和SQL一样大体一致,可以将这些逻辑转化为对应的MR,不需要每种类型的查询分析都重复写MR 1.2.2 Facebook开发通用的MR程序框架,对外使用SQL接口,框架就是Hive 1.3 官网 1.3.1 h

hive基础2

RDBMS OLTP. relation database management system,关系型数据库管理系统. 支持事务(acid) 延迟低 安全行 V variaty : 多样性. hive mr,sql 开发效率高. 数据仓库. 数据库: //OLTP OLTP //online transaction process, OLAP //online analyze process,在线分析处理 , 很多分析函数 //rank | lag | lead | .. | cube | ro

hive基础1

Hive基础 1.介绍 Hive是OLAP(online analyze process,在线分析处理).通常称为数据仓库,简称数仓.内置很多分析函数,可进行海量数据的在线分析处理.hive构建在hadoop之上,使用hdfs作为进行存储,计算过程采用的是Mapreduce完成,本质上hive是对hadoop的mr的封装,通过原始的mr方式进行数据处理与分析,往往效率较低,而且具有相当的复杂度,学习曲线较长.hive常用传统的sql方式作为操作手段,极大的降低了学习曲线,毕竟大部分人对sql还是