• Hive学习笔记(三)-- DML和DDL操作


    01-Hive表的DDL操作--修改表

    创建一个分区表并加载数据

    查询数据

    修改表

    加载数据

    查询一下

    另外一个命令查询表的分区

    如何删除一个分区呢

    查询一个,分区被删除了

     修改表名

    查询改名的新表的数据

    增加一列

    查看表的结构,增加了一个字段

    修改列

    再来查看一下,除了分区列,其他所有列都被替换成了name

     

    修改对应列

    查看表结构,发现name字段改变了

    02-Hive显示命令

    查看分区

    查看自带函数

    查看详细表结构

    格式化查看表结构

    可以在hive控制台输入linux命令

    !clear 清屏

    !ls

    展现hdfs文件,与hdfs文件树进行交互

     03-Hive的DML操作load

    新建一个分区表

    新建数据文件

    加载对应的数据,这里数据的路径可以是绝对路径,也可以是相对路径

    查看数据导入没有

    再新建一个数据文件stu_partition1

    上传到hdfs上面

    查看hdfs上有没有这个文件

    加载hdfs上的数据文件,不用加local了

    再来查询下表数据,数据导入成功了

    overwrite关键字,相当于覆盖

     

    04-Hive的DDL操作insert

     创建表,like关键字

    查出数据并导入对应表

    查询数据

    导入数据到本地目录,这里没有加local,所以导入到的是hdfs

    查看hdfs上面对应的目录有没有数据

    查询hdfs上导入的数据对不对

    指明local,导入查询数据到本地

     

    查看导入到本地的目录

    查看数据对不对

    继续向这个表插入数据

    此时报了一个错

    需要执行这一句,自动分区模式

    查询插入数据后的表数据

    05-Hive的DDL操作-select语句

     

    创建表,并制定数据目录,目录在hdfs根目录

    查询hdfs上的数据

    查询表数据

    条件查询

     

    分组查询

    MapReduce结果

    cluster by

    这跟select * 结果是一样的

     设置task为4,才能看到结果

    看一下最终的结果

    顺序不是依次递增的,说明多个task起作用了,通过no对4取模

     distribute by

     

    查看结果表结果,跟刚才的结果一模一样,因为cluster by = distribute by + sort by,后面by字段一样的时候

    by的字段不一样结果就不同了

    如果把上面那条命令后便替换成sort by age

    查看hdfs上的表数据,发现是按照年龄排序的

  • 相关阅读:
    高数——微分方程的通解和特解
    高数——求极限的方法
    算法训练——删除数组零元素
    算法训练——输出米字形
    算法训练——数的统计
    算法训练——数对
    算法训练——数组查找及替换
    算法训练——数组排序去重
    算法训练——素因子去重
    算法训练——特殊的数字四十
  • 原文地址:https://www.cnblogs.com/tangzhe/p/9418023.html
Copyright © 2020-2023  润新知