-- 创建数据库表,以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使用的更多相关文章

  1. Spark存储Parquet数据到Hive,对map、array、struct字段类型的处理

    利用Spark往Hive中存储parquet数据,针对一些复杂数据类型如map.array.struct的处理遇到的问题? 为了更好的说明导致问题的原因.现象以及解决方案,首先看下述示例: -- 创建 ...

  2. hive优化,控制map、reduce数量

    一.调整hive作业中的map数 1.通常情况下,作业会通过input的目录产生一个或者多个map任务.主要的决定因素有: input的文件总个数,input的文件大小,集群设置的文件块大小(目前为1 ...

  3. JavaScript Array map() 方法

    语法: array.map(function(currentValue,index,arr), thisValue) currentValue:必须.当前元素的值index:可选.当期元素的索引值ar ...

  4. 【转】hive优化之--控制hive任务中的map数和reduce数

    一.    控制hive任务中的map数:  1.    通常情况下,作业会通过input的目录产生一个或者多个map任务. 主要的决定因素有: input的文件总个数,input的文件大小,集群设置 ...

  5. 数组的方法 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); ...

  6. hive优化之------控制hive任务中的map数和reduce数

    一.    控制hive任务中的map数: 1.    通常情况下,作业会通过input的目录产生一个或者多个map任务. 主要的决定因素有: input的文件总个数,input的文件大小,集群设置的 ...

  7. 兼容低版本JS的Array.map方法

    前几天去别的公司面试遇到个这样的问题,兼容IE7下的Array.map方法,一脸蒙蔽.后面回来查了下资料发现.Array.map方法是ECMA-262 标准中新添加的方法,在低版本的JS中是木有的. ...

  8. hive优化之——控制hive任务中的map数和reduce数

    一.    控制hive任务中的map数: 1.    通常情况下,作业会通过input的目录产生一个或者多个map任务.主要的决定因素有: input的文件总个数,input的文件大小,集群设置的文 ...

  9. Array.from();Object.keys();Array.map()

    Array.from():方法从一个类似数组或可迭代对象创建一个新的数组形式: const bar = ["a", "b", "c"]; A ...

随机推荐

  1. floyd路径记录

    #include<cstdio> #include<cstring> #include<algorithm> #include<cstdlib> #in ...

  2. linq 初步认识

    linq to sql 类 介绍: linq如果不能用的话 重装一下vs就好了 LINQ,语言集成查询(Language Integrated Query)是一组用于c#和Visual Basic语言 ...

  3. JAVA语法规则总结

    单继承多实现 抽象类  抽象方法 使用关键字:abstract修饰的方法就是抽象方法; 抽象方法的形式:只有方法的声明,没有方法体; 抽象方法一般存在于父类中,相当于强制要求子类必须重写该方法,相当于 ...

  4. java多线程系列:通过对战游戏学习CyclicBarrier

    CyclicBarrier是java.util.concurrent包下面的一个工具类,字面意思是可循环使用(Cyclic)的屏障(Barrier),通过它可以实现让一组线程到达一个屏障(也可以叫同步 ...

  5. Java50道经典习题-程序28 排序算法

    题目:对10个数进行排序分析:可以利用选择法,即从后9个比较过程中,选择一个最小的与第一个元素交换, 下次类推,即用第二个元素与后8个进行比较,并进行交换. public class Prog28 { ...

  6. Java50道经典习题-程序45 被9整除

    题目:判断一个素数能被几个9整除分析:素数只能被1和其本身整除,不能被9整除,所以返回false import java.util.Scanner; public class Prog45{ publ ...

  7. jQuery的Validate插件

    http://www.runoob.com/jquery/jquery-plugin-validate.html 项目中的:: $(function () { $('#createDepartment ...

  8. MongoDB 分片2

    mongodb 在windows下面进行分片 mongodb 更新很快,在做分片的时候,查找了不少文章,但是很多已经过时了.现在把我搭建的过程及命令分享给大家.我用的是最新版本windows版3.4. ...

  9. Pandas——修改DataFrame列名

    #生成一个数据框 import pandas as pd a = pd.DataFrame({'a':[1,2,3], 'b':[4,5,6], 'c':[7,8,9]}) #直接修改:缺点必须写明每 ...

  10. java基础之开发环境配置

    一. 环境变量配置的原理 一.  配置环境变量path 如果我们按照上面的来编译和运行的话未免太过于麻烦了,那么在这里我们可以配置环境变量PATH 1.配置环境变量的步骤 这时可以直接来看效果 如果d ...