Hive03_数据类型

数据类型

1 案例实操

(1)假设某表有如下一行,我们用 JSON 格式来表示其数据结构。在 Hive 下访问的格式为

{"name": "wukong","friends": ["bajie" , "lili"] , //列表 Array, "children": { //键值 Map,"xiao sun": 18 ,"xiaoxiao sun": 19}"address": { //结构 Struct,"street": "hui long guan","city": "beijing"}
}

(2)基于上述数据结构,我们在 Hive 里创建对应的表,并导入数据。
创建本地测试文件 hive/datas/ test.txt

wukong,bajie_lili,xiao sun:18_xiaoxiao sun:19,hui long guan_beijing
yangyang,caicai_susu,xiao yang:18_xiaoxiao yang:19,chao yang_beijing

注意:MA,STRUCT 和 ARRAY 里的元素间关系都可以用同一个字符表示,这里用“_”。

(3)Hive 上创建测试表 test

create table test(
name string,
friends array<string>,
children map<string, int>,
address struct<street:string, city:string>
)
row format delimited fields terminated by ','
collection items terminated by '_'
map keys terminated by ':'
lines terminated by '\n';

字段解释:
row format delimited fields terminated by ‘,’ – 列分隔符
collection items terminated by ‘_’ --MAP STRUCT 和 ARRAY 的分隔符(数据分割符号)
map keys terminated by ‘:’ – MAP 中的 key 与 value 的分隔符
lines terminated by ‘\n’; – 行分隔符

(4)导入文本数据到测试表

在 hive/datas下创建info.sql,写入上面的sql语句。

执行sql文件,创建表结构

[root@hadoop2 hive]# bin/hive -f /usr/soft/hive/datas/info.sql 

启动sql,查看表结构是否创建成功;

在这里插入图片描述

将test.txt中的数据,写入到表中

[root@hadoop2 datas]# hadoop fs -put friend.txt /user/hive/warehouse/info

5)访问三种集合列里的数据,以下分别是 ARRAY,MAP,STRUCT 的访问方式

hive (default)> select friends[1],children['xiao sun'],address.city from 
test
where name="wukong";

查询结果:
OK
_c0 _c1 city
lili 18 beijing
Time taken: 0.076 seconds, Fetched: 1 row(s)

果:**
OK
_c0 _c1 city
lili 18 beijing
Time taken: 0.076 seconds, Fetched: 1 row(s)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/579545.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jupyter notebook打开其他盘的文件

jupyter notebook打开其他盘文件 打开jupyter notebook打开terminal输入&#xff1a;jupyter-notebook 路径打开你想打开的工程的文件 打开jupyter notebook 打开terminal 输入&#xff1a;jupyter-notebook 路径 打开你想打开的工程的文件

odoo17核心概念view7——listview总体框架分析

这是view系列的第七篇文章&#xff0c;今天主要介绍我们最常用的list视图。 1、先看list_view,这是主文件 /** odoo-module */import { registry } from "web/core/registry"; import { RelationalModel } from "web/model/relational_model/relational_mode…

Typora使用PicGo+Gitee上传图片报错403 Forbidden

Typora使用PicGoGitee上传图片报错403 Forbidden Typora使用PicGoGitee上传图片&#xff0c;上传失败了&#xff0c;错误信息如下 打开PicGo的日志文件查看&#xff0c;可以看到错误详情如下 换了一个插件github-plus重新配置&#xff0c;解决了这个问题 再打开日志查看&…

GO基础进阶篇 (九)、临界资源安全问题(锁、channel)

临界资源安全问题 在并发编程中对临界资源的处理不当&#xff0c;往往会导致数据的不一致问题 package mainimport ("fmt""time" )func main() {a : 1go func() {a 2fmt.Println("goroutine", a)}()a 3fmt.Println("a", a)time.Sl…

Swift学习笔记第三节:Set类型

1、代码 import Foundationvar set1: Set<Int> [1, 2, 3, 4, 3] print("定义1: \(set1)") var set2 Set(1...4) print("定义2: \(set2)") print("长度: \(set2.count)") print("是否为空: \(set2.isEmpty)") set1.insert(99)…

ElasticSearch的RestClient结合Sniffer提高可用性

一、背景 由于要安装分词器插件&#xff0c;所以需要重启ElasticSearch集群以使得新安装的插件生效 但是在重启集群的过程中&#xff0c;服务端代码却出现了大量错误&#xff0c;如下所示 java.net.ConnectException: Connection refused    at org.elasticsearch.client.R…

利用策略模式与Spring Boot实现灵活的文件上传功能:多策略选择与动态实现

当涉及文件上传功能时&#xff0c;使用策略模式是一个明智的选择。在Spring Boot中&#xff0c;您可以利用策略模式来实现文件的动态上传功能。这种模式允许您定义一系列的算法&#xff0c;将它们封装成独立的类&#xff0c;使得这些算法可以相互替换&#xff0c;而不影响客户端…

使用 AnyGo 修改 iPhone 手机定位

在当今数字化时代&#xff0c;我们的手机已经成为我们日常生活中不可或缺的一部分。然而&#xff0c;有时我们可能会遇到一些情况&#xff0c;需要修改手机的定位信息。这个需求可能来自于各种不同的原因&#xff0c;包括但不限于保护个人隐私、测试应用程序的地理位置相关功能…

【kafka消息里会有乱序消费的情况吗?如果有,是怎么解决的?】

文章目录 什么是消息乱序消费了&#xff1f;顺序生产&#xff0c;顺序存储&#xff0c;顺序消费如何解决乱序数据库乐观锁是怎么解决这个乱序问题吗 保证消息顺序消费两种方案固定分区方案乐观锁实现方案 前几天刷着视频看见评论区有大佬问了这个问题&#xff1a;你们的kafka消…

前端-nginx.conf文件中proxy_pass变量值的结尾有无斜杠的区别

server {listen 8080;server_name localhost;location ^~/mgrcontrol/{proxy_pass $MGR_SERVICE;}} 在Nginx配置文件中&#xff0c;proxy_pass 指令用于将请求代理到指定的后端服务。在配置中&#xff0c;proxy_pass 后面使用了变量 $MGR_SERVICE&#xff0c;而这个变量的值是…

Linux - 记录问题:怎么通过安装包的方式安装gRPC

适用场景 当docker 构建环境不能链接到github 的时候&#xff0c;就可以使用本地构建的方式 完成对应服务的构建需求。 参考案例 使用本地安装包的方式安装 gRPC 注意&#xff1a; 在Docker构建过程中&#xff0c;某些软件包可能会尝试配置时区&#xff0c;这通常需要交互式…

TVS二极管(瞬变抑制)

TVS二极管(瞬变抑制) 常用电子元器件 TVS二极管/ESD抑制器SZESD7451N2T5G X-DFN-2 代码EE \TVS二极管/ESD抑制器ESD7451N2T5G X-DFN-2 代码EE 文章目录 TVS二极管(瞬变抑制)前言一、TVS二极管(瞬变抑制)是什么二、ESD抑制器SZESD7451N2T5G X-DFN-2 代码EE三、ESD抑制器…

WordPress主题大前端DUX v8.3源码下载

DUX主题8.3版本更新内容&#xff1a; 新增&#xff1a;Cloudflare Turnstile 免费验证功能 新增&#xff1a;子菜单页面模版&#xff0c;支持多级页面 新增&#xff1a;手机端文章内表格自动出现横向滚动条&#xff0c;可集体或单独设置滚动宽度 新增&#xff1a;标签云页面模版…

【MATLAB第86期】基于matlab的Catboost多输入单输出分类预测模型 catboost-1.1.1版本

基于matlab的Catboost多输入单输出分类预测模型 catboost-1.1.1版本 运行环境 windows10 matlab2020a catboost版本&#xff1a;catboost-1.1.1 往期&#xff1a; 【MATLAB第20期】基于matlab的Catboost多输入单输出回归预测模型 catboost-1.1.1版本 一、导入数据 采用12输…

Spark与Hadoop的关系和区别

在大数据领域&#xff0c;Spark和Hadoop是两个备受欢迎的分布式数据处理框架&#xff0c;它们在处理大规模数据时都具有重要作用。本文将深入探讨Spark与Hadoop之间的关系和区别&#xff0c;以帮助大家的功能和用途。 Spark和Hadoop简介 1 Hadoop Hadoop是一个由Apache基金会…

Linux和Win 共享文件夹 搭建使用方法【超简单】+ 共享后无法出现文件夹的解决方式

win和Linux 共享文件夹 超简单的搭建使用方法 一、编辑虚拟机设置二、在Linux下访问共享文件夹三、共享后无法出现文件夹的解决方式 很多时候我们需要在Linux环境下使用一些安装包。 一般都是在win下进行下载&#xff0c;然后通过共享文件夹的方式&#xff0c;共享到虚拟机环境…

Xmake v2.8.6 发布,新的打包插件:XPack

Xmake 是一个基于 Lua 的轻量级跨平台构建工具。 它非常的轻量&#xff0c;没有任何依赖&#xff0c;因为它内置了 Lua 运行时。 它使用 xmake.lua 维护项目构建&#xff0c;相比 makefile/CMakeLists.txt&#xff0c;配置语法更加简洁直观&#xff0c;对新手非常友好&#x…

手机软件APP下载类网站Pbootcms模板 游戏软件应用网站源码 模板自适应手机端

手机软件APP下载类网站pbootcms模板 游戏软件应用网站源码 模板自适应手机端 pbootcms内核开发的网站模板,该模板适用于手机APP网站、游戏软件网站等企业, 当然其他行业也可以做,只需要把文字图片换成其他行业的即可; 自适应,同一个后台,数据即时同步,简单适用!附带…

超维空间S2无人机使用说明书——52、使用PID算法进行基于yolo的目标跟踪

引言&#xff1a;在实际工程项目中&#xff0c;为了提高系统的响应速度和稳定性&#xff0c;往往需要采用一定的控制算法进行目标跟踪。这里抛砖引玉&#xff0c;仅采用简单的PID算法进行目标的跟随控制&#xff0c;目标的识别依然采用yolo。对系统要求更高的&#xff0c;可以对…

基于Java在线商城系统设计实现(源码+部署文档+讲解视频)

博主介绍&#xff1a; ✌至今服务客户已经1000、专注于Java技术领域、项目定制、技术答疑、开发工具、毕业项目实战 ✌&#x1f345; 文末获取源码联系 &#x1f345;&#x1f447;&#x1f3fb; 精彩专栏 推荐订阅 &#x1f447;&#x1f3fb; 不然下次找不到 Java项目精品实…