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

【大数据】Hive系列之- Hive-DML 数据操作

Hive系列-DML 数据操作

  • 数据导入
    • 向表中装载数据(Load)
      • 语法
      • 操作用例
    • 通过查询语句向表中插入数据(Insert)
      • 创建一张表
      • 插入数据
      • 基本模式插入(根据单张表查询结果)
    • 查询语句中创建表并加载数据(As Select)
    • 创建表时通过 Location 指定加载数据路径

数据导入

向表中装载数据(Load)

语法

load data [local] inpath '数据的 path' [overwrite] into table
car [partition (partcol1=val1,)];
  • load data:表示加载数据
  • local:表示从本地加载数据到 hive 表;否则从 HDFS 加载数据到 hive 表
  • inpath:表示加载数据的路径
  • overwrite:表示覆盖表中已有数据,否则表示追加
  • into table:表示加载到哪张表
  • car:表示具体的表
  • partition:表示上传到指定分区

操作用例

创建一张表

create table car(id string, name string) row format delimited fields terminated by '\t';

加载本地文件到 hive

load data local inpath '/data/apps/hive/datas/car.txt' into table default.car;

加载 HDFS 上数据到 hive

load data inpath '/data/hive/car.txt' into table default.car;

加载数据覆盖表中已有的数据

load data inpath '/data/hive/car.txt' overwrite into table default.car;

通过查询语句向表中插入数据(Insert)

创建一张表

create table car1(id int, name string) row format delimited fields terminated by '\t';

插入数据

insert into table car1 values(1,'tesla'),(2,'bmw');

基本模式插入(根据单张表查询结果)

insert overwrite table car1
select id, name from car where month='201709';
  • insert into:以追加数据的方式插入到表或分区,原有数据不会删除
  • insert overwrite:会覆盖表中已存在的数据

查询语句中创建表并加载数据(As Select)

create table if not exists car3 as select id, name from car;

创建表时通过 Location 指定加载数据路径

  • 上传数据到 hdfs 上
dfs -mkdir /car;
dfs -put /data/car.txt /car;
  • 创建表,并指定在 hdfs 上的位置
create external table if not exists car5( id int, name string
)
row format delimited fields terminated by '\t' location '/car;
  • 查询数据

希望对正在查看文章的您有所帮助,记得关注、评论、收藏,谢谢您

http://www.lryc.cn/news/40899.html

相关文章:

  • day2 —— 判断字符串中的字符是否唯一
  • 176万,GPT-4发布了,如何查看OpenAI的下载量?
  • 蓝蓝算法题(一)
  • Python截图自动化工具
  • 网络作业2【计算机网络】
  • 如何给网页加速,如何加速网页速度?
  • linux kernel 5.0 inline hook框架
  • 【Java版oj】day12二进制插入、查找组成一个偶数最接近的两个素数
  • 【24】Verilog进阶 - 序列检测2
  • 详解线段树 ---更新查询
  • 【C语言进阶:刨根究底字符串函数】strncpy、strncat、strncmp函数
  • 计算机面试常见问答题目
  • mac pro m1:安装dump文件内存分析工具——MAT
  • 并发基础之线程池(Thread Pool)
  • 【C语言进阶】内存函数
  • Java开发 - ELK初体验
  • AI_Papers周刊:第六期
  • JS运行环境、包管理、打包工具总结
  • day4网络编程(广播和组播)
  • Vue3 自动引入组件及函数、动态生成侧边栏路由
  • 人工智能交互系统界面设计
  • 蓝桥杯嵌入式第一课--创建工程
  • Java面向对象:接口的学习
  • 西瓜视频登录页面
  • 【springboot】常用快捷键:
  • 宝塔控制面板常用Linux命令大全
  • C语言实现单链表(超多配图,这下不得不学会单链表了)
  • SQL编写优化技巧
  • 【基础算法】单链表的OJ练习(6) # 复制带随机指针的链表 #
  • Activity生命周期完成EvenetLog回调