码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Hive学习笔记——数据类型及DDL数据定义


    目录

    一、Hive数据类型

    1、基本数据类型

    2、集合数据类型

    3、类型转换

    二、DDL数据定义

    1、创建数据库

    2、查询数据库

    2.1 显示数据库

    2.2 显示数据库的详细信息

    3、修改数据库(一般不用)

    4、删除数据库

    5、创建表

    5.1 内部表(管理表) 

    5.2 外部表

    5.3 内部表和外部表的相互转换

    6、查看表

    7、修改表

    7.1 重命名表

    7.2 增加、修改和删除表分区

    7.3 增加/修改/替换列信息

    8、删除表


    一、Hive数据类型

    1、基本数据类型

    2、集合数据类型

    案例实操:

     

    注意:

    1、对于字段解释的说明:列分隔符就是将by后面指定的符号去分割数据;数据分割符号就是将数组(STRUCT和ARRAY中的数据进行分割),而MAP中每一组数据的kv还需要再进行拆分,就使用第三个分隔符;行分隔符就是一行一行进行解析(默认就是按行,因此可以不写)

    2、insert是一条条插入进表,但大数据数据量大,因此我们一般不采用insert的方法,而是将数据提前准备好,然后直接加载到表里去

    3、表的数据要用txt文件放在之前创建好的datas中(便于管理),加载入表有两种方法:

    第一种:创建表的时候系统会在HDFS形成数据和表的一个映射,只需要将该文件上传到HDFS的/user/hive/warehouse/xxx表中这个文件夹即可(建议使用该种方法)

    第二种:使用load data local inpath '/opt/module/hive-3.1.2/datas/test.txt' into table test即可;

    4、删除表:drop table xxx; 

    结果: 

    1. select name,friends[0],childrens['xiao song'],address.street from test2;
    2. +-----------+-----------+-------+----------------+
    3. | name | _c1 | _c2 | street |
    4. +-----------+-----------+-------+----------------+
    5. | songsong | bingbing | 18 | hui long guan |
    6. | yangyang | caicai | NULL | chao yang |
    7. +-----------+-----------+-------+----------------+
    8. 2 rows selected (0.156 seconds)
    9. //数组通过下标访问,map通过key来访问,结构体通过属性访问

    3、类型转换

    二、DDL数据定义

    1、创建数据库

     COMMENT xxx是对该数据库自定义的一个描述

    2、查询数据库

    2.1 显示数据库

    2.2 显示数据库的详细信息

     extend可以查看到创建的时间等额外信息

    注意:在默认的default库下创建的表会直接放在warehouse目录下,而其他创建的库也会直接放在该目录下(这并不是代表是在default下再创建一个库) ,在HDFS中库会自带一个.db后缀来区分库和表(我们自己可以使用上面创建表的LOCATION来更改存储在HDFS的位置)

    3、修改数据库(一般不用)

    大部分的信息都不能修改,只能更改一些无关紧要的,因此只需要了解一下就行 

    4、删除数据库

    5、创建表

    注意:

    表的默认存储位置是在当前库这个目录中,但是我们可以使用LOCATION使其存储位置发生改变。(但是它仍然是属于该库的表,不会因为存储位置改变而改变)

    5.1 内部表(管理表) 

    5.2 外部表

    5.3 内部表和外部表的相互转换

    6、查看表

    show tables;(查看有哪些表)

    desc test1;(查看表的部分具体信息,比如字段等)

    desc formatted test1;(查看表的全部信息)

    7、修改表

    7.1 重命名表

    7.2 增加、修改和删除表分区

    在之后讲表分区的时候再进行说明

    7.3 增加/修改/替换列信息

    注意:

    1、修改列的类型的时候要注意更改后列的类型要比原来的类型大或相等,不然无法更改

    2、增加列的时候如果数据没有后面的内容就会赋值为空,同样如果数据的内容比表的列更多也只会读取到能匹配的内容

    8、删除表

    drop table dept;

     

  • 相关阅读:
    程序员35岁之后有什么出路?
    【NLP入门教程】二十二、深度学习与NLP简介
    数据库——索引
    前端面试html自检(先看问题 自己自述一遍 不会再看答案 )
    vue组件传参
    prompt 综述
    Dubbo学习(三)——dubbo实现负载均衡、智能容错功能
    从旧金山到上海, HTTP/3 非常快!
    为知笔记打不开 ziw 文件问题
    源码构建LAMP环境-2
  • 原文地址:https://blog.csdn.net/qq_64557330/article/details/126132522
  • 最新文章
  • 【FHE】我们如何实现同态加密推理(八):SiLU 的密文化——两条路径,和一个 8 字节的开关
    SQLcl 中 c/old/new 替换变量为何失效?先定位再替换
    不让模型写作文,直接从它脑子里读答案:Jev 决策在 .NET 的两条路线
    Halo插件:支持GitHub的图床附件策略
    电视投屏界的“一股清流”!SimpleTVCast 6.0.0-beta 抢先体验:无需TV端App,界面大换血!✨
    华三VXLAN集中式网关实战指南:Spine多活网关 + 双活接入(M-LAG)
    软件更好写之后口碑会更重要
    大 O、大 Omega、大 Theta 的区别,O(n) 复杂度是什么意思
    Java标签跳转:一个鲜为人知但却很实用的小技巧
    多智能体系统论文速读
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号