首页 > 其他分享 >Hive笔记-4

Hive笔记-4

时间:2024-06-22 13:59:49浏览次数:20  
标签:-- 30 hive default 笔记 Hive table txt

240618-Hive笔记-4

4.2 Insert

4.2.1 将查询结果插入表中

1) 语法
INSERT (INTO | OVERWRITE) TABLE tablename [PARTITION 
(partcol1=val1,partcol2=val2 ...)] select_stamement;

关键字说明:

(1) INTO: 将结果追加到目标表

(2) OVERWRITE: 用结果覆盖原有数据

2) 案例
(1) 新建一张表
hive (default) >
create table student1(
id int,
name string
)
row format delimited fields terminated by '\t'
(2) 根据查询结果插入数据
hive (default) > insert overwrite table student3
select 
id,
name
from student;

4.2.2 将给定Values插入表中

1) 语法
INSERT (INTO | OVERWRITE) TABLE tablename [PARTITION
(partocol1[val1],partcol2[=val2] ...] VALUES values_row [,
values_row ...]
2) 案例
hive (default) > insert into table student1
values(1,'wangwu'),(2,'zhaoliu');

追加成功:

4.2.3 将查询结果写入目标路径

1) 语法
INSERT OVERWRITE [LOCAL] DIRECTORY directory
[ROW FORMAT row_format] [STORED AS
file_format] select_statement;
2) 案例
insert overwrite local directory '/opt/module/datas/student' ROW
FORMAT SERDE 'org.apache.hadoop.hive.serde2.JsonSerDe'
select id,name from student;

4.2 Export & Import

 Export导出语句可将表的数据和元数据信息一并到处的HDFS路径,Import可将Export导出的内容导入Hive,表的数据和元数据信息都会恢复。Export和Import可用于两个Hive实例之间的数据迁移。

1) 语法

--导出
EXPORT TABLE tablename TO 'export_target_path'

--导入
IMPORT [EXTERNAL] TABLE new_or_original_tablename FROM 'source_path' [LOCATION 'import_target_path']

2) 案例

--导出
hive>
export table default.student to '/user/hive/warehouse/export/student';

--导入
hive>
import table student2 from '/user/hive/warehouse/export/student';

执行export代码:

查看结果:

执行Import代码:

第 6 章 查询

6.1 基础语法

1) 官网的地址:

LanguageManual Select - Apache Hive - Apache Software Foundation

2) 查询语句语法:

SELECT [ALL | DISTINCT] select_expr, select_expr, ...
  FROM table_reference       -- 从什么表查
  [WHERE where_condition]   -- 过滤
  [GROUP BY col_list]        -- 分组查询
   [HAVING col_list]          -- 分组后过滤
  [ORDER BY col_list]        -- 排序
  [CLUSTER BY col_list
    | [DISTRIBUTE BY col_list] [SORT BY col_list]
      ]
 [LIMIT number]                -- 限制输出的行数

6.2 基本查询(Select ... From)

6.2.1 数据准备
 (1) 原始数据
 1.在/opt/module/hive/datas/路径上创建dept.txt文件,并赋值如下内容:

部门编号 部门名称 部门位置id

[atguigu@hadoop102 datas]$ vim dept.txt

10 行政部 1700
20 财务部 1800
30 教学部 1900
40 销售部 1700
 2.在/opt/module/hive/datas/路径上创建emp.txt文件,并赋值如下内容:

员工编号 姓名 岗位   薪资  部门

[atguigu@hadoop102 datas]$ vim emp.txt

7369 张三 研发 800.00 30
7499 李四 财务 1600.00 20
7521 王五 行政 1250.00 10
7566 赵六 销售 2975.00 40
7654 侯七 研发 1250.00 30
7698 马八 研发 2850.00 30
7782 金九 \N 2450.0 30
7788 银十 行政 3000.00 10
7839 小芳 销售 5000.00 40
7844 小明 销售 1500.00 40
7876 小李 行政 1100.00 10
7900 小元 讲师 950.00 30
7902 小海 行政 3000.00 10
7934 小红明 讲师 1300.00 30

创建文件dept.txt :

(1) 创建部门表
hive (default)>
create table if not exists dept(
    deptno int,    -- 部门编号
    dname string,  -- 部门名称
    loc int        -- 部门位置
)
row format delimited fields terminated by '\t';

(2) 创建员工表
hive (default)>
create table if not exists emp(
    empno int,      -- 员工编号
    ename string,   -- 员工姓名
    job string,     -- 员工岗位(大数据工程师、前端工程师、java工程师)
    sal double,     -- 员工薪资
    deptno int      -- 部门编号
)
row format delimited fields terminated by '\t';

(3) 导入数据
hive (default)>
load data local inpath '/opt/module/hive/datas/dept.txt' into table dept;
load data local inpath '/opt/module/hive/datas/emp.txt' into table emp;

标签:--,30,hive,default,笔记,Hive,table,txt
From: https://blog.csdn.net/2401_83660667/article/details/139881514

相关文章

  • Linux驱动开发笔记(九)IIC子系统及其驱动
    文章目录前言一、IIC驱动框架二、总线驱动2.1iic总线的运行机制2.2重要数据结构2.2.1i2c_driver结构体2.2.2i2c总线结构体2.3匹配规则三、设备树的修改四、设备驱动的编写4.1相关API函数4.1.1i2c_add_adapter()4.1.2i2c_register_driver()4.1.3i2c_transfer......
  • Effective C++ 改善程序与设计的55个具体做法笔记与心得 4
    四.设计与声明18.让接口容易被正确使用,不易被误用请记住:好的接口很容易被正确使用,不容易被误用。你应该在你的所有接口中努力达成这些性质“促进正确使用”的办法包括接口的一致性,以及与内置类型的行为兼容。“阻止误用”的办法包括建立新类型、限制类型上的操作、束缚......
  • FFmpeg开发笔记(三十一)使用RTMP Streamer开启APP直播推流
    ​RTMPStreamer是一个安卓手机端的开源RTMP直播推流框架,可用于RTMP直播和RTSP直播,其升级版还支持SRT直播(腾讯视频云就采用SRT协议)。RTMPStreamer支持的视频编码包括H264、H265、AV1等等,支持的音频编码包括AAC、G711、OPUS等等,可谓功能强大的APP直播框架。由于升级版的RTMPStre......
  • day09 | KMP算法笔记
    目录一、KMP算法有什么用?二、构建next数组(就是前缀表)1)什么是前缀表(next数组)2)前缀表有什么用3)前缀表怎么记录的?4)为什么一定要用前缀表5)构建next数组三、力扣28.实现strStr()四、拓展题重复的子字符串一、KMP算法有什么用?该算法主要应用在字符串匹配上,当模式串与......
  • TVM学习笔记
    安装podman拉取镜像podmanpulltlcpack/ci-gpu:20240105-165030-51bdaec6podmanrun-it--network=host--gpusall--shm-size=10g-v/home/moguw/Github/tvm-learn:/workspace--nametvm-buildtlcpack/ci-gpu:20240105-165030-51bdaec6/bin/bash--shm-size=10g指......
  • 【YOLOv8改进】MLCA(Mixed local channel attention):混合局部通道注意力(论文笔记+引
    摘要本项目介绍了一种轻量级的MixedLocalChannelAttention(MLCA)模块,该模块同时考虑通道信息和空间信息,并结合局部信息和全局信息以提高网络的表达效果。基于该模块,我们提出了MobileNet-Attention-YOLO(MAY)算法,用于比较各种注意力模块的性能。在PascalVOC和SMID数......
  • 【YOLOv8改进】BRA(bi-level routing attention ):双层路由注意力(论文笔记+引入代码)
    摘要作为视觉Transformers的核心构建模块,注意力机制是一种强大的工具,用于捕捉长程依赖关系。然而,这种强大功能也带来了代价:计算代价巨大且内存占用高,因为需要计算所有空间位置上成对的token交互。为缓解这一问题,一系列研究尝试通过引入手工设计且内容无关的稀疏性来改进注意力机......
  • AMBA总线笔记1-APB设计要点
    1.APB2框架    APB是一种低功耗、低速度外设总线,主要用于连接外围设备和低速外设,如定时器、GPIO(通用输入输出)、串口控制器等。因其低功耗和相对简单的设计,适合于对性能要求不高的外设连接。        在实际的SOC架构中,APB往往就以以下形式出现:    A......
  • AMBA总线笔记2-AHB协议
    1.AHB介绍和组成    AHB是针对高频率高频宽及快速系统模块设计的总线,构成包括主设备master、从设备slave、仲裁器arbiter、译码器decoder。每个AHB都需要一个仲裁器和一个译码器且只有一个。2.AHB、AXI、APB对比总线AHBAXIAPB宽度32,64,128,2568,16,32,64,128,256,512,10248,1......
  • [TypeScript 学习笔记] 1. 日常类型
    TypeScript类型基础类型类型解释string用于文本字符串number用于数字(整数和浮点数)boolean布尔值,可以是true或falsenull表示缺少值的空对象指针undefined表示未定义的值void表示没有任何返回值的函数never表示永远不会返回的函数任意......