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

江苏省建设集团有限公司网站制作企业网站的

江苏省建设集团有限公司网站,制作企业网站的,wordpress+模板层级,网页小游戏网址大全目录标题 5、DML 数据操作5.1 数据导入5.1.1 向表中装载数据load5.1.2 通过查询语句向表中插入数据insert5.1.3 查询语句中创建表并加载数据5.1.4 创建表时通过 Location 指定加载数据路径 5.2 数据导出5.2.1 insert导出5.2.2 Hadoop 命令导出到本地 5.3 清除表中数据(Truncate…

目录标题

    • 5、DML 数据操作
      • 5.1 数据导入
        • 5.1.1 向表中装载数据load
        • 5.1.2 通过查询语句向表中插入数据insert
        • 5.1.3 查询语句中创建表并加载数据
        • 5.1.4 创建表时通过 Location 指定加载数据路径
      • 5.2 数据导出
        • 5.2.1 insert导出
        • 5.2.2 Hadoop 命令导出到本地
      • 5.3 清除表中数据(Truncate)
    • 6、查询
      • 6.1 注意点
      • 6.2 笛卡尔积
        • 6.2.1 笛卡尔积会在下面条件中产生
      • 6.3 分桶
        • 6.3.1 分桶表数据存储
      • 6.4 其他常用查询函数
      • 6.5 行转列
      • 6.6 列转行

5、DML 数据操作

5.1 数据导入

5.1.1 向表中装载数据load

load data [local] inpath ‘/opt/module/datas/student.txt’ [overwrite] | into table student [partition (partcoll = val1,…)]

(1)load data:表示加载数据
(2)local:表示从本地加载数据到 hive 表;否则从 HDFS 加载数据到 hive 表
(3)inpath:表示加载数据的路径
(4)overwrite:表示覆盖表中已有数据,否则表示追加
(5)into table:表示加载到哪张表
(6)student:表示具体的表
(7)partition:表示上传到指定分区

实操:
1,创建一张表

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

2,加载本地文件到hive

load data local inpath '/opt/module/dates/student.txt' into table default.student;

3,加载HDFS文件到hive

本地文件上传到HDFS

dfs -put /opt/module/datas/student.txt /user/atguigu/hive

HDFS文件再到hive

load data inpath '/user/atguigu/hive/student.txt' into table default.student;

5.1.2 通过查询语句向表中插入数据insert

1,创建分区表

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

2,插入数据

insert into table student partition(month = '201709')values(1,'wangwu')

3,插入(根据单张表查询结果)

insert overwrite table student partition(month='201708')select id, name from student where month='201709';

4,多插入模式(根据多张表查询结果)

from student
insert overwrite table student partition(month='201707')
select id,name where month='201709'
insert overwrite table student partition(month='201707')
select id,name where month='201709'

5.1.3 查询语句中创建表并加载数据

create table if not exists student3 as select id,name from student;

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

1.创建表,并指定在 hdfs 上的位置

create table if not exists student5(id int, name string)row format delimited fields terminated by '\t'location '/user/hive/warehouse/student5';

2,上传数据到 hdfs 上

 dfs -put /opt/module/datas/student.txt /user/hive/warehouse/student5;

3,查询数据

select * from student5;

5.2 数据导出

5.2.1 insert导出

1.将查询的结果导出到本地

insert overwrite local directory  '/opt/module/datas/export/student'select * from student;

2.将查询的结果格式化导出到本地

insert overwrite local directory 'opt/module/datas/export/student1'
row format delimited fields terminated by '\t'
select * from student;

3,将查询的结果导出到 HDFS 上(没有 local)

insert overwrite directory  '/user/atguigu/student2'ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' select * from student;

5.2.2 Hadoop 命令导出到本地

dfs -get /user/hive/warehouse/student/month=201709/000000_0
/opt/module/datas/export/student3.txt;

Hive Shell 命令导出
在这里插入图片描述
Export 导出到 HDFS 上
在这里插入图片描述

5.3 清除表中数据(Truncate)

注意:Truncate 只能删除管理表,不能删除外部表中数据

hive (default)> truncate table student;

6、查询

6.1 注意点

1,SQL 语言大小写不敏感
在这里插入图片描述
在这里插入图片描述
2,平均值:avg(sal)
3,like:
% 代表零个或多个字符(任意个字符)。
_ 代表一个字符。

6.2 笛卡尔积

6.2.1 笛卡尔积会在下面条件中产生

1,省略连接条件
2,连接条件无效
3,所有表中的所有行相互连接

6.3 分桶

6.3.1 分桶表数据存储

分区针对的是数据的存储路径,分桶针对的是数据文件
分区提供一个隔离数据和优化查询的便捷方法。不过,并非所有的数据集都可以形成合理的分区
分桶是将数据集分解成更容易管理的若干部分的另一个技术。

(1).先创建分桶表,通过直接导入数据文件的方式
1,数据准备student.txt
2,创建分桶表
create table stu_buck(id int ,name string)
clustered by(id) into 4 buckets
row format delimited fields terminated by ‘\t’
3,查看表结构
desc formatted stu_buck;
Num Buckets: 4

4,导入数据到分桶表中
load data local inpath ‘/opt/module/datas/student.txt’ into table
stu_buck;
(2).创建分桶表时,数据通过子查询的方式导入
在这里插入图片描述
(6)需要设置一个属性
在这里插入图片描述

6.4 其他常用查询函数

  1. NVL( string1, replace_with)
    NVL:给值为 NULL 的数据赋值,它的格式是 NVL( string1, replace_with)。它的功能是如果string1 为 NULL,则 NVL 函数返回 replace_with 的值,否则返回 string1 的值,如果两个参数都为 NULL ,则返回 NULL。
###如果员工的 comm 为 NULL,则用-1 代替select nvl(comm,-1) from emp;
  1. date_format:格式化时间
select date_format('2019-06-29','yyyy-MM-dd');
  1. date_add:时间跟天数相加
 select date_add('2019-06-29',5);
  1. data_sub :时间跟天数相减
select date_sub('2019-06-29',5);

5)datadiff :两个时间相减

 select datediff('2019-06-29','2019-06-24');  #输出距离多少天

6.5 行转列

在这里插入图片描述

selectt1.base,concat_ws('|', collect_set(t1.name)) name
from(select name, concat(constellation, ",", blood_type) basefromperson_info) t1
group byt1.base;

6.6 列转行

1.函数说明
EXPLODE(col):将 hive 一列中复杂的 array 或者 map 结构拆分成多行。
LATERAL VIEW
用法:LATERAL VIEW udtf(expression) tableAlias AS columnAlias
解释:用于和 split, explode 等 UDTF 一起使用,它能够将一列数据拆成多行数据,在此基础上可以对拆分后的数据进行聚合

在这里插入图片描述

select movie, category_name
frommovie_info lateral view explode(category) table_tmp as 
category_name;

三种排序:
rank() :1224
dense_rank():1223
row_number():1234

http://www.yayakq.cn/news/552402/

相关文章:

  • 做的非常好的网站案例php购物网站开发摘要
  • 咸阳营销型网站建设石家庄网站seo优化
  • 凡科建站代理平台哪个网站音乐做的最好
  • 如何建购物网站公司网站建设管理制度
  • 圣诞节网站模板莱芜论坛话题
  • 网站建设技术问题产品seo标题是什么
  • 网站建设分为哪三部分三星网上商城发什么快递
  • 东阳网站建设软件开发最好用的下载软件排名
  • wordpress 整站 数据专业网站建设价位
  • 网站上线盈利小程序开发者工具官网
  • 做自媒体小视频哪个网站比较赚钱悦然wordpress建站服务
  • 青岛福瀛建设集团网站wordpress相册展示插件
  • 江苏弘盛建设工程集团有限公司网站网页编辑框
  • 长沙手机网站建设公司建设手机网银可以自己提升额度吗
  • 做自媒体发视频用哪些网站跨境电商无货源怎么做
  • 网站域名后缀那个好啤酒招商网站大全
  • 怎么联系网站管理员一级做爰网站
  • 网站设计方案模板广州市手机网站建设品牌
  • 怎么做素材网站网站设计工资怎么样
  • 上海市住房和城乡建设厅网站客户管理系统的设计与实现
  • 商城开发网站论述电子商务网站的建设
  • 网站建设前台与后台最新技术wordpress检索
  • 建一个网站大概需要多长时间网站在线备案
  • 网站备案查询工具青云 wordpress
  • 华为网站的建设建议书软件开发接单网站
  • 加盟网站制作推广人社部能力建设中心网站
  • 建设初级中学网站万网网站域名
  • 非法网站怎么推广推广营销app
  • c2c网站是什么温州开发网站公司
  • 网站建设私活中能找想开一家相亲网站 怎么做