hive复杂格式array,map,struct使用
-- 创建数据库表,以array作为数据类型
drop table if exists person;
create table person(
name string
,work_locations array<string>
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ' '
COLLECTION ITEMS TERMINATED BY ','
stored as textfile
; -- 数据
biansutao beijing,shanghai,tianjin,hangzhou
linan changchu,chengdu,wuhan -- 入库数据
LOAD DATA LOCAL INPATH 'tmpa' OVERWRITE INTO TABLE person; -- 查询
select * from person;
select name from person;
select work_locations[] from person;
select work_locations from person;
select work_locations[] from person;
select work_locations[] from person;
-- 创建数据库表
create table score(
name string
,score map<string,int>
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ' '
COLLECTION ITEMS TERMINATED BY ','
MAP KEYS TERMINATED BY ':'
stored as textfile
; -- 数据
biansutao 数学:80,语文:89,英语:95
jobs 语文:60,数学:80,英语:99 -- 入库数据
LOAD DATA LOCAL INPATH 'tmpb' OVERWRITE INTO TABLE score; -- 查询
select * from score;
select name from score;
select t.score from score t;
select t.score['语文'] from score t;
select t.score['英语'] from score t;
-- 创建数据表
CREATE TABLE test(
id int
,course struct<course:string,score:int>
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ' '
COLLECTION ITEMS TERMINATED BY ','
stored as textfile
; -- 数据
1 english,80
2 math,89
3 chinese,95 -- 入库
LOAD DATA LOCAL INPATH 'tmpc' OVERWRITE INTO TABLE test; -- 查询
select * from test;
select course from test;
select t.course.course from test t;
select t.course.score from test t;
-- 创建数据表 (异常)
create table test1(
id int
,a MAP<STRING,ARRAY<STRING>>
)
row format delimited fields terminated by ' '
collection items terminated by ','
MAP KEYS TERMINATED BY ':'
stored as textfile
; -- 数据
1 english:80,90,70
2 math:89,78,86
3 chinese:99,100,82 -- 入库
LOAD DATA LOCAL INPATH 'tmpd' OVERWRITE INTO TABLE test1; -- 查询
ref: https://blog.csdn.net/u010670689/article/details/72885944
hive复杂格式array,map,struct使用的更多相关文章
- Spark存储Parquet数据到Hive,对map、array、struct字段类型的处理
利用Spark往Hive中存储parquet数据,针对一些复杂数据类型如map.array.struct的处理遇到的问题? 为了更好的说明导致问题的原因.现象以及解决方案,首先看下述示例: -- 创建 ...
- hive优化,控制map、reduce数量
一.调整hive作业中的map数 1.通常情况下,作业会通过input的目录产生一个或者多个map任务.主要的决定因素有: input的文件总个数,input的文件大小,集群设置的文件块大小(目前为1 ...
- JavaScript Array map() 方法
语法: array.map(function(currentValue,index,arr), thisValue) currentValue:必须.当前元素的值index:可选.当期元素的索引值ar ...
- 【转】hive优化之--控制hive任务中的map数和reduce数
一. 控制hive任务中的map数: 1. 通常情况下,作业会通过input的目录产生一个或者多个map任务. 主要的决定因素有: input的文件总个数,input的文件大小,集群设置 ...
- 数组的方法 Array.map();Array.every()和Array.some();数组的indexof();检测是否是数组isArray(obj);
数组的方法 Array.map(); 栗子: var a=[1,2,,3]; var b=a.map( function(value){return value*value} ); alert(b); ...
- hive优化之------控制hive任务中的map数和reduce数
一. 控制hive任务中的map数: 1. 通常情况下,作业会通过input的目录产生一个或者多个map任务. 主要的决定因素有: input的文件总个数,input的文件大小,集群设置的 ...
- 兼容低版本JS的Array.map方法
前几天去别的公司面试遇到个这样的问题,兼容IE7下的Array.map方法,一脸蒙蔽.后面回来查了下资料发现.Array.map方法是ECMA-262 标准中新添加的方法,在低版本的JS中是木有的. ...
- hive优化之——控制hive任务中的map数和reduce数
一. 控制hive任务中的map数: 1. 通常情况下,作业会通过input的目录产生一个或者多个map任务.主要的决定因素有: input的文件总个数,input的文件大小,集群设置的文 ...
- Array.from();Object.keys();Array.map()
Array.from():方法从一个类似数组或可迭代对象创建一个新的数组形式: const bar = ["a", "b", "c"]; A ...
随机推荐
- [P3812][模板]线性基
解题关键:求异或最大值.线性基模板题. 极大线性无关组的概念. 异或的值域相同. #include<cstdio> #include<cstring> #include< ...
- vue 之 表单输入绑定
vue的核心:声明式的指令和数据的双向绑定. 那么声明式的指令,已经给大家介绍完了.接下来我们来研究一下什么是数据的双向绑定? 另外,大家一定要知道vue的设计模式:MVVM M是Model的简写,V ...
- Python程序设计6——面向对象
面向对象有三大特征:多态(对应方法覆写).封装.继承(对应方法重载),这个在Java中已经说得很详细了,这里面只是介绍Python在这三个特性方面的实现. 1 创建自定义类 Python和Java一样 ...
- 形式化验证工具(PAT)2PC协议学习
今天我们来看看2PC协议,不知道大家对2PC协议是不是了解,我们先简单介绍一下. 两阶段提交协议(two phase commit protocol, 2PC)可以保证数据的强一致性,许多分布式关系型 ...
- scala的object知识点
1:object的中的代码,会在object对象被调用的时候执行且只会执行一次 object Demo{ println("gaoxing") def name = "n ...
- 《Head First Servlets & JSP》-2-概述
什么是容器 Servlet没有main()方法,他们受控于另一个Java应用,这个java应用称为容器(Container). Web服务器应用(如Apache)得到一个指向Servlet的请求(如何 ...
- WebGoat系列实验AJAX Security
WebGoat系列实验AJAX Security DOM Injiction 实验对象是一个接受激活密钥后允许你访问的系统,实验目标是尝试将激活按钮变得可以点击. 直接修改页面代码激活按钮,Chrom ...
- Web信息架构:设计大型网站(第3版) [美]Peter Morville 中文PDF扫描版
新版Web信息架构设计大型网站针对新技术做了全面更新——搭配新颖范例.全新场景及最佳实践信息——但是,其焦点依然放在基础原理上.其结构严谨,图文并貌,内容涵盖了信息架构基本原理和实践应用的方方面面. ...
- 2018,重新开始学习DotNetCore
学习计划: 1.IdentityServer https://github.com/IdentityServer/IdentityServer4 2.eShopOnContainers https:/ ...
- linux 定制
转载至http://luyafei.blog.51cto.com/1092421/1131532 测试环境: VMware Workstation 8.0 CentOS 6.7 x86_64 1.安装 ...