• 2023.11.14-hive之表操作练习和文件导入练习


    目录

    需求1.数据库基本操作

    需求2. 默认分隔符案例


    需求1.数据库基本操作

    -- 1.创建数据库test_sql,cs1,cs2,cs3

    1. create database test_sql;
    2. create database cs1;
    3. create database cs2;
    4. create database cs3;

    -- 2.1删除数据库cs2

    drop database cs2;

    -- 2.2在cs3库中创建一个stu表,有id,name两个字段,然后删除cs3

    1. use cs3;
    2. create table stu(
    3. id int,
    4. name string);
    5. drop database cs3 cascade ; --有表的库要加cascade

    -- 3.切换数据库cs1

    use cs1;

    -- 4.1查询所有数据库

    show databases ;

    -- 4.2查看当前使用的数据库  select current_database

    select current_database();

    -- 4.3查看cs1数据库信息  desc database 表名

    desc database cs1;

    需求2. 默认分隔符案例

     

    文件team_ace_player.txt中记录了手游《王者荣耀》主要战队内最受欢迎的王牌选手信息,内容如下,分隔符是hive的默认分隔符,要求在Hive中建表,把对应的数据存储到hdfs中

    1成都AG超玩会一诺 2重庆QGhappyHurt 3DYG久诚 4上海EDG.M浪浪 5武汉eStarProCat 6RNG.M暴风锐 7RW侠渡劫 8TES滔搏迷神 9杭州LGD大鹅伪装 10南京Hero久竞清融

    字段:id、team_name(战队名称)、ace_player_name(王牌选手名字)

    分析一下:数据都是原生数据类型,且字段之间分隔符是\001,因此在建表的时候可以省去row format语句,因为hive默认的分隔符就是\001

    提示: 可以直接使用insert方式插入数据,也可以提前建文件把对应的文件上传到hdfs中

     1.创建表
    1. --步骤1创建表
    2. create table team_ace(
    3. id int,
    4. team_name string,
    5. ace_player_name string
    6. )row format delimited
    7. fields terminated by ''
    8. ;
    2.加载数据

    txt文件如下

     

    1. --步骤2加载数据,手动将此题目里的txt文件上传到hdfs中 ,然后加载到表中
    2. load data inpath '/input/team_ace_player.txt' into table team_ace;
    3.验证数据
    1. --步骤3验证数据
    2. select * from team_ace;
    3. --结果如下
    4. --1,成都AG超玩会,一诺
    5. -- 2,重庆QGhappy,Hurt
    6. -- 3,DYG,久诚
    7. -- 4,上海EDG.M,浪浪
    8. -- 5,武汉eStarPro,Cat
    9. -- 6,RNG.M,暴风锐
    10. -- 7,RW侠,渡劫
    11. -- 8,TES滔搏,迷神
    12. -- 9,杭州LGD大鹅,伪装
    13. -- 10,南京Hero久竞,清融
     --需求:请查询来自上海战队的ace选手名字
    select ace_player_name from team_ace where team_name like '%上海%';

  • 相关阅读:
    Spring-web-Mvc
    百度云版微信测试号专属浪漫消息推送(最新版)
    贪吃蛇小游戏代码
    Java入门 面向对象(接口) (第二十一天)
    自然辩证法与人工智能:一种哲学与技术的对话
    如何操作(增、删、改、查)常见的 HTML 元素呢?(包含原生 js 和 JQuery 语法对照)
    黑猫带你学UFS协议栈第2篇:DME reset详解
    算法笔记(1)线段树
    [go]golang中“var“与“:=“的区别
    41-50==c++知识点
  • 原文地址:https://blog.csdn.net/m0_49956154/article/details/134384372