当前位置: 首页 > news >正文

29-数据仓库与Apache Hive-创建库、创建表

1.使用hivesql创建数据库

1.1 SQL中的DDL 
create  drop  alter 三个组成
DDL不涉及表内部的操作
DDL主要做什么? 对数据库内部的对象进行创建、删除、修改

在这里插入图片描述

1.2 HiveSQL Hive SQL(HQL)与标准SQL的语法大同小异,基本相通;
基于Hive的设计、使用特点,HQL中create语法(尤其create table)将是学习
掌握Hive DDL语法的重中之重。建表是否成功直接影响数据文件是否映射成功,
进而影响后续是否可以基于SQL分析数据。通俗点说,没有表,表没有数据,
你用Hive分析什么呢?选择正确的方向,往往比盲目努力重要。 1.3数据库database
在Hive中,默认的数据库叫做default,存储数据位置位于HDFS的/user/hive/warehouse下。
用户自己创建的数据库存储位置是/user/hive/warehouse/database_name.db下。1.3.1 create database
create database用于创建新的数据库
COMMENT:数据库的注释说明语句
LOCATION:指定数据库在HDFS存储位置,默认/user/hive/warehouse/dbname.db 
WITH DBPROPERTIES:用于指定一些数据库的属性配置。

在这里插入图片描述

	创建好数据库以后去hdfs上查看一下!!!

1.4创建表

在这里插入图片描述

1.4.1数据类型
Hive数据类型指的是表中列的字段类型;
整体分为两类:原生数据类型(primitive data type)和复杂数据类型(complex data type)。
最常用的数据类型是字符串String和数字类型Int。

在这里插入图片描述

1.4.2分隔符指定语法
ROW FORMATDELIMITED语法用于指定字段之间等相关的分隔符,这样Hive才能正确的读取解析数据。
或者说只有分隔符指定正确,解析数据成功,我们才能在表中看到数据。1.4.3分隔符指定语法LazySimpleSerDe是Hive默认的,包含4种子语法,分别用于指定字段之间、集合元素之间、map映射kv之间、换行的分隔符号。在建表的时候可以根据数据的特点灵活搭配使用。

在这里插入图片描述
1.4.4 ive默认分隔符
Hive建表时如果没有row format语法指定分隔符,则采用默认分隔符;
默认的分割符是’\001’,是一种特殊的字符,使用的是ASCII编码的值,键盘是打不出来的。

在这里插入图片描述
SOH 字符需要使用notepad++ 工具才能看到

-- 2.创建表
create table t_archer(
id int comment 'ID',
name string comment '英雄名称',
hp_max int comment '最大生命',
mp_max int comment '最大法力',
attack_max int comment '最高物攻',
defense_max int comment '最大物防',
attack_range string comment '攻击范围',
role_main string comment '主要定位',role_assist string comment '次要定位'
) comment '王者荣耀射手信息表'
row format delimited
fields terminated by '\t';

1.5使用hdfs暴力导入数据

1.6作业
作业: 文件team_ace_player.txt中记录了手游《王者荣耀》主要战队内最受欢迎的王牌选手信息,字段之间使用的是\001作为分隔符,要求在Hive中建表映射成功该文件。
字段:id、team_name(战队名称)、ace_player_name(王牌选手名字)
表名: t_team_ace_player
http://www.dtcms.com/a/318770.html

相关文章:

  • 树莓派安装OpenCV环境
  • 【CDA案例】数据分析案例拆解:解锁数据分析全流程!
  • 微服务、服务网格、Nacos架构与原理
  • mapbox进阶,mapbox-gl-draw绘图插件扩展,绘制新增、编辑模式支持点、线、面的捕捉
  • Linux系统编程--权限管理
  • 在NVIDIA Orin上用TensorRT对YOLO12进行多路加速并行推理时内存泄漏(下)
  • Redis为什么要引入多线程?
  • 如何在GPU上安装使用Docker
  • 【AI】——SpringAI通过Ollama本地部署的Deepseek模型实现一个对话机器人(二)
  • 用 tcpdump 捕获网络数据包
  • RTSP播放器技术详解:功能支持、平台覆盖与快速集成指南
  • PostgreSQL 强制索引:当重复数据让优化器“失明”时的解决方案
  • centos系统sglang单节点本地部署大模型
  • Sklearn 机器学习 数据降维PCA 自己实现PCA降维算法
  • 如何打造一支AI时代下的IT团队,为企业战略目标快速赋能
  • Java面试宝典:JVM的垃圾收集算法
  • MCU中的晶振(Crystal Oscillator)
  • 【Zephyr】02_从零教你开发芯片级ADC驱动(HAL层篇)
  • 每日五个pyecharts可视化图表-bars(6)
  • 嵌入式硬件中MOSFET基本原理与实现
  • 基于 Socket.IO 实现 WebRTC 音视频通话与实时聊天系统(Spring Boot 后端实现)
  • C语言中级_动态内存分配、指针和常量、各种指针类型、指针和数组、函数指针
  • MATLAB科研数据可视化
  • cuda编程笔记(13)--使用CUB库实现基本功能
  • 嵌入式硬件中MOSFET基本控制详解
  • 嵌入式硬件学习(十一)—— platform驱动框架
  • OpenAI 开源模型 GPT-OSS深度拆解:从1170亿参数到单卡部署,重构AI开源生态
  • 亚马逊采购风控突围:构建深度隐匿的环境安全体系
  • 360纳米AI、实在Agent、CrewAI与AutoGen……浅析多智能体协作系统
  • LabVIEW实验室测试框架