Hive建表建库详解

Hive建表全攻略-从入门到精通 探索Apache Hive的强大功能!本文深入讲解Hive建表技巧、性能优化、安全管理和生态系统集成。从基础语法到高级特性,包括分区表、ORC存储、动态分区、查询优化等核心概念。学习如何处理数据倾斜、实现细粒度访问控制,以及与Spark、Kafka、HBase无缝集成。通过实战案例掌握构建高效数据仓库的秘诀。无论您是初学者还是专家,这份Hive知识图谱都能助您在大数据领域更上一层楼。#Hive #大数据 #数据仓库 #性能优化 #数据安全 阅读详情

1.建库

  • hive中有一个默认的库:
    库名: default
    库目录:你的hdfs地址/user/hive/warehouse

  • 新建库:create database db_order;
    库建好后,在hdfs中会生成一个库目录:
    你的hdfs地址/user/hive/warehouse/db_order.db

2.建表

  • 2.1基本建表语句
    • create table t_order(id string,create_time string,amount float,uid string);
      表建好后,会在所属的库目录中生成一个表目录
      /user/hive/warehouse/db_order.db/t_order
      只是,这样建表的话,hive会认为表数据文件中的字段分隔符为 ^A(\001)
    • 正确的建表语句为:
      create table t_order(id string,create_time string,amount float,uid string)
      row format delimited
      fields terminated by ',';
      这样就指定了,我们的表数据文件中的字段分隔符为 “,”
  • 2.2内部表与外部表
    • 内部表(MANAGED_TABLE): 表目录按照hive的规范来部署,位于hive的仓库目录/user/hive/warehouse中

    • 外部表(EXTERNAL_TABLE): 表目录由建表用户自己指定
      external 外部表
      location ‘/access/log’ 指定外部表位置
      createexternaltable t_access(ip string,url string,access_time string)
      row format delimited
      fields terminated by ','
      location'/access/log';

    • 外部表和内部表的特性差别:
      1.内部表的目录在hive的仓库目录中 VS 外部表的目录由用户指定
      2.drop一个内部表时:hive会清除相关元数据,并删除表数据目录
      3.drop一个外部表时:hive只会清除相关元数据;
  • 2.3.分区表
    • 创建分区表
      create table t_access(ip string,url string,access_time string)
      partitioned by(dt string)
      row format delimited
      fields terminated by ',';
    • 向分区表导入数据
      load data local inpath '/root/access.log.2017-08-04.log' into table t_access
      partition(dt=‘20190527’);
      load data local inpath '/root/access.log.2017-08-05.log' into table t_access
      partition(dt=‘20190528’);

3.删除表

  • drop table t_order;
    删除表的效果是:
    hive会从元数据库中清除关于这个表的信息;
    hive还会从hdfs中删除这个表的表目录;
shell脚本导出所有hive库名、hive表名及建表语句 #!/usr/bin/bash # 获取当前脚本所在路径 cur_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" cd ${cur_dir} # 导出所有hive数据库名 hive -e "show databases;" > ${cur_dir}/all_database.db # 删除导出文件中的警告信息 sed -i '/^WARN:/d' ${cur_dir}/all_database.db # 导出各个hive库下 阅读详情

相关推荐

Hive SQL语言:DDL建库、建表

⚫ 数据定义语言(Data Definition Language, DDL),是SQL语言集中对数据库内部的对象结构进行创建,删除,修改等的操作语言,这些数据库对象包括database、table等。⚫ 在Hive中,默认的数据库叫做default,存储数据位置位于HDFS的/user/hive/warehouse下。注意:如果需要使用location指定路径的时候,最好指向的是一个新创建的空文件夹。,是一种特殊的字符,使用的是ASCII编码的值,键盘是打不出来的。

m0_57290404的博客 766

Hive 数据库常用基础命令

hive数据仓库的基本sql命令

m0_72168501的博客 7142

用ESP32和HomeSpan自制HomeKit智能灯,手把手教你从零接入苹果家庭App

本文详细介绍了如何使用ESP32开发板和HomeSpan开源库自制原生HomeKit智能灯,从硬件搭建到软件配置,再到通过苹果家庭App控制的全过程。项目绕过了苹果MFi认证,成本低廉但功能完整,支持Siri语音控制、自动化场景等高级功能,是智能家居DIY的实用指南。

weixin_28717431的博客 321

【Hive】基本建库、建表操作

文章目录一、Hive 数据仓库的操作1、创建数据仓库2、查看 db 数据仓库的信息及路径3、删除 db 数据仓库二、Hive 数据表的操作1、创建内部表2、创建内部表3、修改表结构4、删除表5、创建同结构表三、Hive 中数据的导入导出 环境准备 Hadoop 完全分布式(一主两从即可) MySQL环境、Hive环境 一、Hive 数据仓库的操作 验证 hadoop 集群、mysql服务均已启动: 在 Hive 安装目录下的 bin 目录下启动: ./hive : [root@serve..

懂得一千零一种,赋予你失败的方法! 9254

数字信号完整性分析:眼图原理与应用指南

眼图是数字信号完整性分析中的核心工具,通过将数字信号在时间域上多次叠加形成类似人眼的图形,直观反映信号质量。其原理基于时钟恢复和波形叠加,能有效展示信号的统计特性,包括上升/下降时间、过冲/下冲等关键参数。在高速数字电路设计中,眼图分析对于评估信号完整性、调试抖动问题至关重要,广泛应用于DDR接口、高速串行链路等场景。通过合理设置示波器参数和采用均衡技术,工程师可以优化眼图表现,提升系统可靠性。本文结合DDR4内存等实际案例,详解眼图的测量方法与常见问题解决方案。

weixin_35459464的博客 344

Halcon窗体开发避坑指南:C#自定义控件实现7大图像交互功能

本文详细介绍了如何利用C#封装自定义Halcon控件,以解决原生HWindowControl功能不足的问题。通过实战代码,展示了如何实现图像按比例显示、鼠标拖动缩放、灰度值读取、图像保存、截图及图形叠加等七大核心交互功能,并重点剖析了内存管理、坐标转换等开发避坑要点,帮助开发者构建稳定可复用的机器视觉组件库。

weixin_29251131的博客 292

Hive(一)

我们可以考虑使用专门负责JSON文件的JSON Serde,设计表字段时,表的字段与JSON字符串中的一级字段保持一致,对于具有嵌套结构的JSON字符串,考虑使用合适复杂数据类型保存其内容。Export导出语句可将表的数据和元数据信息一并到处的HDFS路径,Import可将Export导出的内容导入Hive,表的数据和元数据信息都会恢复。该语法允许用户利用select查询语句返回的结果,直接建表,表的结构和查询语句的结构保持一致,且保证包含select查询语句放回的内容。

qq_35599414的博客 1225

Linux下离线安装Google Chrome

目录背景一、下载并安装Google Chrome二、下载并安装依赖包1.libvulkan.so.1()(64bit)2.读入数据总结 背景 项目中服务器被要求不能连接外网,不能直接联网安装,所以需要下载Google Chrome安装包和依赖包,然后离线安装。 linux下步骤都一样,不管ubuntu还是centos只是需要下载对应系统的文件包即可。 本机系统:CentOS 7 一、下载并安装Google Chrome 官方下载地址http://www.google.cn/chrome/browser/d

ancientapesman的博客 1万+

Hive 搭建(将 MySQL 作为元数据库)

安装 Hive 之前请先确保你当前已经安装好了 Hadoop,并且运行正常。

JIE的博客 --- moon_coder 1万+

运营商拼命封杀的PCDN到底是个啥?

最近一段时间,很多宽带用户发现自家的网速莫名其妙变慢了,甚至收到了运营商发来的“违规使用宽带”警告短信,严重的甚至直接被断网。很多人一头雾水:我交了钱办的宽带,自己买的插件或者京东云、网心云这些硬件赚点“电费”,怎么就成了运营商眼中的“过街老鼠”?今天,我们就把这层窗户纸捅破,深度剖析这个让互联网大厂省下几十亿、让运营商恨得牙痒痒、让用户夹在中间进退两难的技术黑话——。

网络技术联盟站 917

C#串口通信从入门到精通(21)——一个串口多线程发送数据

本文详细介绍了串口通信中采用多线程发送串口数据的解决方案,由多年实战经验总结,绝对干货!

qq_34059233的博客 3691

Hive 创建数据库(以及指定存放位置)

语句: CREATE DATABASE [IF NOT EXISTS] database_name [COMMENT database_comment] [LOCATION hdfs_path] [WITH DBPROPERTIES (property_name=property_value, ...)]; 1.创建一个数据库,数据库在 HDFS 上的默认存储路径是/user/hive/warehouse/*.db hive (default)> create database db_hive;

CharlesCFA的博客 1万+

基于Django+Vue3的智能目标检测系统设计与实现,Vue3前台系统+Django后台管理系统开发,Web前后端分离,YOLOv8 Web目标检测,实现图片、视频和摄像头检测等功能,全网独发

目标检测是计算机视觉中的重要任务,广泛应用于安防监控、自动驾驶、智能家居等领域。YOLO系列模型由于其高效的检测速度和较高的准确率,成为目标检测任务的首选算法之一。本项目结合 YOLOv8 与 Django + Vue3,构建一个Vue3前台系统+Django后台管理系统开发,便于用户进行目标检测的操作和展示,实现对图片、视频实时目标检测,不仅可以用于大论文的工作量展示,还可以作为毕业设计。支持更换自己模型、图片检测、实时视频检测、置信度调节和IoU参数调节。同时支持目标检测、实例分割、关键点检测等任务

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 5434

hive:建库建表、表分区、内部表外部表、数据导入导出

hive建库建表与数据导入 建库 hive中有一个默认的库: 库名: default 库目录:hdfs://hdp20-01:9000/user/hive/warehouse   新建库: create database db_order; 库建好后,在hdfs中会生成一个库目录: hdfs://hdp20-01:9000/user/hive/warehouse/db_or...

琦彦 7535

十八万字《python从零到精通教程》第二版,贴心保姆教你从零变大神,学不会找我

文章目录一.pycharm下载安装二.python下载安装三.pycharm上配置python四.配置镜像源让你下载嗖嗖的快4.1pycharm内部配置4.2手动添加镜像源4.3永久配置镜像源五.插件安装(比如汉化?)5.1自动补码神器第一款5.2 自动补码神器第二款5.2汉化pycharm5.3其它插件六.美女背景七.自定义脚本开头八、这个前言一定要看九、python入门十、python缩进十一、Python注释1.单行注释2.多行注释十二、Python 变量1.变量定义理解2. 变量名命名3. 分配多个

全栈川川 7万+

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

hive,操作库- 不同类型的表

建库 hive中有一个默认的库: 库名: default 库目录:hdfs://hdp20-01:9000/user/hive/warehouse 新建库: create database db_order; 库建好后,在hdfs中会生成一个库目录: hdfs://hdp20-01:9000/user/hive/warehouse/db_order.db 建表 use db_order; create table t_order(id string,create_time str..

javaMylife的博客 224

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Hive 内部表和外部表

针对于Hive 的 建库建表操作 建库 内部表(也叫管理表和临时表) 外部表 表的操作 建库 创建名为 test 的数据库(仅当不存在是才创建),添加备注信息 test database: create database if not exists test comment 'this is a database for test'; 查看数据库列表(名称模糊匹配): show databases like 't*'; OK test test001 Tim...

weixin_45524021的博客 382

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

hive语句

在hive终端执行shell语句,行首加! !ls /opt; 建库 本质:在数仓目录下创建一个目录(库名.db) create database [if not exists] dbName [comment 'this is dbName']; 建表 create [external] table [if not exists] tableName ( col_name data_type...

weixin_45207388的博客 246

Hive 建表语句详解

一、HQL建表 语法格式(hql不区分大小写,[ ]中的属性是可选属性) CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name [ (col_name data_type [COMMENT col_comment], ...) ] [COMMENT table_comment] [PARTITIONED BY(col_name data_type [COMMENT col_comment],...) ] [CLUSTERED BY (col_name,col_

weixin_53299145的博客 1万+

Hive建表语句详解--CREATE TABLE

Hive创建表的方式(默认路径/user/hive/warehouse,也可以location指定,主要针对external表)1、使用create命令创建一个新表,带分区可以使用describe formatted mytest_deptaddr 查看建表相关的各种配置属性以及默认属性。从下面可以看出,在创建表时有很多属性,比如存储地址,存储格式等属性我们都没有直接配置,而是选择了系统默认的。2、把一张表的某些字段抽取出来,创建成一张新表,使用as注意: 1.as只会复制属性以及属性值到新的表中。

Thomson617的博客 16万+

Hive 建表详解

注:hive其他语法在hive官网有说明,建议初学者,去官网学习一手的资料, 官网:https://cwiki.apache.org/confluence/display/Hive/Home#Home-UserDocumentation 官网说明 Hive建表方式共有三种: 直接建表法 查询建表法 like建表法 首先看官网介绍 CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS] [db_name.]table_name -- (Not.

Mr.pan felix的专栏 1385

Hive学习3:Hive三种建表语句详解

Hive学习3:Hive三种建表语句详解

Liu_Arvin的芝士小栈 13万+

Hive_ Hive 建表语句详解

参考文章: https://blog.youkuaiyun.com/qq_36743482/article/details/78383964 最近博主在编写一个每天定时创建Hive 分区的脚本,其中需要创建Hive表, 开始的时候我以为创建Hive 表的语句顺序是比较宽松的,经过测试发现不然, Hive 创建表需要比较固定的书写顺序 虽然暂时不知道这个顺序,可以查阅什么样的文档找到,如果知道的...

迎难而上 16万+

【Hive】Hive 建表语句详解

文章目录一、hql 建表语法格式二、参数说明三、创建表的三种方式3.1、 使用 create 命令3.2、 create table ...as select..(CTAS)3.3、 使用 like 创建相同结构的表 一、hql 建表语法格式 hql不区分大小写,[]里的属性是可选属性。 CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name ...

w1992wishes的博客 2128

hive中的三种建表方法

文章目录一、直接建表二、查询建表三、like建表 一、直接建表 CREATE [EXTERNAL] TABLE [IF NOT EXISTS] employee_external ( //EXTERNAL关键字添加为外部表 name string, work_place ARRAY<string>, sex_age STRUCT<sex:string,age:int>, skills_score MAP<string,int>,

wgyzzzz的博客 6657
上一篇: linux命令大全
下一篇: nginx安装
世界只有你
博客等级 码龄8年 4粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值