Hive中Map数据类型转String类型,其中具体内容不变
--上传测试数据
drop table test_map_1;
create table test_map_1 as
select 1 as uid, map("key1", "value1","key2", "value2") as map1 union all
select 2 as uid, map("key3", "value3","key4", "value4") as map1;--查看当前测试表结构是否是map<string,string>类型
hive> desc test_map_1;
col_name data_type comment
uid int
map1 map<string,string> --查询具体数据
hive> select * from test_map_1;
OK
test_map_1.uid test_map_1.map1
1 {"key1":"value1","key2":"value2"}
2 {"key3":"value3","key4":"value4"}
Time taken: 0.058 seconds, Fetched: 2 row(s)
--转换sql如下,并将结果放入临时表
drop table test_map_1_to_string;
create table test_map_1_to_string as
select uid,concat('{"', concat_ws(',', collect_list(concat_ws('":"', k,v) ) ), '"}') as string1
from test_map_1
lateral view outer explode(map1) kv as k,v
group by uid
;select * from test_map_1_to_string;--查看原数据类型map<string,string>转为string
hive> desc test_map_1_to_string;
OK
col_name data_type comment
uid int
string1 string select * from test_map_1_to_string;
OK
test_map_1_to_string.uid test_map_1_to_string.string1
1 {"key1":"value1,key2":"value2"}
2 {"key3":"value3,key4":"value4"}
Time taken: 0.066 seconds, Fetched: 2 row(s)
如果大括号不需要,可以去掉最外层concat()函数;
如果不需要双引号"",则可以将concat_ws('":"', k,v)改为concat_ws(':', k,v)
Hive中Map数据类型转String类型,其中具体内容不变相关推荐
- hive中的数据类型
数据类型 1.Hive中的数据类型分为两类:基本类型和复杂类型 2.基本类型包含:tinyint,smallint,int,bigint,float,double,boolean,string,tim ...
- 关于hive中Map join 时大表left join小表的问题
在hive中,(启用Map join时) 大表left join小表,加载从右向左,所以小表会加载进内存,存储成map键值对,通过大表驱动小表,来进行join,即大表中的join字段作为key 来获取 ...
- 下列( )类型不是mysql中的数据类型_下列( )类型不是MySQL中常用的的数据类型。_学小易找答案...
[单选题]下面哪个坐标系不属于在椭球面上表示点位置的坐标系统. [简答题]2.根据形体的两面投影,补绘其第三面投影(尺寸可由图上直接量取). (1) (2) (3) (4) (5) (6) (7) ( ...
- Java课堂笔记引用数据类型之String类型
背景:Java语言,字符串类型关键字String,是已经封装好的类. public static void main(String[] agrs) {// 字符串类型创建对象的两种定义方式,//Str ...
- java基础数据类型与String类型区别
区别:Java内存存放位置不一样,基本数据类型存在栈(stack),String的对象实例存在堆(heap).另外String,不是基本数据类型,判断是否相等,不能使用==,而应该使用equals方法 ...
- python中map函数返回值类型_python map函数
from:https://www.cnblogs.com/AlwaysWIN/p/6202320.html 描述 map() 会根据提供的函数对指定序列做映射. 第一个参数 function 以参数序 ...
- java基本数据类型转为String类型的4种常见方法
1.toString 先把基本数据类型装箱,再用对象的toString()方法 2.String类的valueOf方法 这是一个静态方法,几乎可以把各种类型转换为字符串 String.valueOf( ...
- Java中基本数据类型和包装类型的区别
1.包装类是对象,拥有方法和字段,对象的调用都是通过引用对象的地址:基本类型不是 2.包装类型是引用的传递:基本类型是值的传递 3.声明方式不同: 基本数据类型不需 ...
- python中map函数返回值类型_Python函数精解:map函数
描述 map() 会根据提供的函数对指定序列做映射. 第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表. 语法 m ...
最新文章
- 南京农业大学计算机保研率,2016中国大学保研率排名出炉 江苏11所高校入百强...
- C++ Primer 5th笔记(chap 11)关联容器---无序容器
- Mybatis3.4.x技术内幕(二十二):Mybatis一级、二级缓存原理分析
- iOS之深入解析WKWebView的WebKit源码调试与分析
- PDU (Protocol Data Unit) - 协议数据单元
- 借汉诺塔理解栈与递归
- webstrom中打包的详细_webpack打包体积优化
- Dockerfile文件中CMD指令与ENTRYPOINT指令的区别
- win2003(sp2 x86)+iis6+php-5.3.5-Win32 配置
- c语言代码re通常什么错误,求帮助 C语言realloc和free触发断点的问题
- 第八周 4.18 --- 4.24
- 腾讯手机管家(pc版) for android,腾讯手机管家PC版for Android小技巧分享
- burst tx 功能 开启_华硕路由器无线网络,专业设置各功能科普
- 关于C语言中有符号的整数值范围为什么是从-32768~32767以及有符号和无符号区别
- 51单片机学习笔记(8)——74HC573锁存器
- 本人博客目录 [实时更新]
- 思科实验-生成树协议STP
- sql语句中count(*),count(1),count(id)区别详解
- linux rar和zip工具
- 2021-03-17T23:47:55.978+08:00 UTC时间转换
热门文章
- qt 程序异常结束_【心电国际指南2009专家解读】浦介麟 冉玉琴老师:QT 间期的规范化测量及其意义...
- 选修课期末html作业,中南大学生命科学导论选修课期末作业
- java引言_Java C++(引言一)
- linux java占用199%,linux分区使用率过高又查询不到被哪些文件占用的问题
- 卷积神经网络(CNN)相关的基础知识
- geth+remix+metamask 实现私有链智能合约部署
- 响应式微服务 in java 译 十二 service discovery
- (https)nginx - tomcat(http)
- 首尔2017年公共区域全覆盖免费WiFi
- win10开移动热点让手机使用上网