首页 > 其他分享 >hive

hive

时间:2023-09-25 15:37:22浏览次数:32  
标签:sales nbr sale hive round id day

hive测试步骤

1.在hive中建表,一个表存放原始数据,一个表存放清洗后的数据

create table sales_initial (

    day_id varchar(30),

    sale_nbr varchar(30),

    buy_nbr varchar(30),

    cnt varchar(30),

    round varchar(30)

)

row format delimited

fields terminated by ',';

 

2.将csv文件拖入虚拟机,然后执行下边的语句,将csv文件数据导入hive建的表中

load data local inpath '/opt/module/hadoop-3.1.3/sales_initial.csv' into table sales_initial;

 

3.清洗日期

insert overwrite table sales_clean
select date_add('2023-8-31', cast(day_id AS INT)) as day_id,
       sale_nbr,
       buy_nbr,
       cnt,
       round
from sales_initial ;

 

4.根据题目要求输出的字段,建立对应的表

 

5.题目实现

题目3_1统计每天各个机场的销售数量和销售金额

insert into sales_3_1 (day_id, sale_nbr, cnt, round)
select day_id, sale_nbr, sum(cnt), sum(round)
from sales_clean
where sale_nbr like 'C%'
group by day_id, sale_nbr;

 

 

 

题目3_2统计每天各个代理商的销售数量和销售金额

insert into sales_3_2 (day_id, sale_nbr, cnt, round)

select day_id, sale_nbr, sum(cnt), sum(round)

from sales_clean

where sale_nbr like 'O%'

group by day_id, sale_nbr;

 

题目3_3统计每天各个代理商的销售活跃度

insert into sales_3_3(day_id, sale_nbr, sale_number)
select day_id, sale_nbr, count(sale_nbr)
from sales_clean
where sale_nbr like 'O%'
group by day_id, sale_nbr;

 

题目3_4汇总统计9月1日到9月15日之间各个代理商的销售利润

create table buy as select day_id, buy_nbr, sum(cnt) as cnt, sum(round) as round from sales_initial where buy_nbr like 'O%' and day_id >= '2023-09-01' AND day_id <= '2023-09-15' group by day_id, buy_nbr

create table sale as select day_id, sale_nbr, sum(cnt) as cnt , sum(round) as round from sales_initial where sale_nbr like 'O%' and day_id >= '2023-09-01' AND day_id <= '2021-09-15' group by day_id, sale_nbr

create table earned as select a.day_id as day_id, b.sale_nbr as nbr, a.cnt as cnt_buy, a.round as round_buy, b.cnt as cnt_sale, b.round as round_sale, b.round-a.round as money from buy a join sale b on a.buy_nbr = b.sale_nbr and a.day_id = b.day_id

 

6.将以上统计结果保存到本机的mysql中

实例:

bin/sqoop export \

--connect jdbc:mysql://localhost:3306/test \

--username root \

--password ******** \

--table sales_3_1 \

--export-dir /user/hive/warehouse/sales_3_1 \

--input-fields-terminated-by '\t'

 

 

数据表部分展示

 

 

 

7.echarts数据可视化实现

下面是echarts的官网的一个新手指导,我以前没了解过,因此需要学一下

快速上手 - Handbook - Apache ECharts

 

 

这里提供了大量的指导,因此剩下的难点就是如何将mysql表中的数据传入表中

 

 

 

 

 

这里我使用了一种简单粗暴的方法,但有的数据好像还有些问题

 

目前只能达到这个水平.

标签:sales,nbr,sale,hive,round,id,day
From: https://www.cnblogs.com/mendianyu/p/17728015.html

相关文章

  • 软件工程测试--hive数据分析,步骤
    下面这里的语句在上一个博客里有需要的伙伴可以去找......
  • hive测试
    这次的hive测试的流程主要分为以下几个步骤1、数据导入到hive数据库里2、对数据清洗3、数据分析处理4、将处理后的数据导出到MySQL5、通过网页进行数据可视化   一.数据导入到hive数据库里1)建立初始表createtablesales_sample_20214044(`day_id`stringcomme......
  • hive极限测试2
        ......
  • hadoop和hive的兼容问题
    本人之前搭建的集群是hadoop3.3.5+hive3.1.3版本,后来发现这两个版本不兼容,虽然官方文档里面说hive3.1.3版本兼容hadoop3.x.y版本,但是当我在使用hive执行插入语句时发现一直报同一个错误java.lang.ClassCastException:org.apache.hadoop.hdfs.protocol.proto.ClientNamenodePro......
  • HIVE增量同步方案2
    SELECTstudent_temp.id,coalesce(student_temp.age,student.age)asage,student_temp.name,coalesce(student_temp.dt,student.dt)asdtFROMstudent_tempFULLOUTERJOINstudentONstudent_temp.id=student.id;———————......
  • Could not open client transport with JDBC Uri: jdbc:hive2://node1:10000: java.n
    今天发现连接beeline是时候连接不上,不应该啊昨晚还可以的qaq  破案了,我启动了metastore之后忘记去启动hiveserver2hiveserver2都没启动能连上就怪了 一定一定要记得启动顺序!!!hadoop+metastore+hiveserver2+beeline ......
  • 使用sqoop export命令将hive数据导入mysql
    描述一下因为我前两天的测试里面,用的是另外一种方法,所以今天想要尝试一下sqoopexport的方法,这个方法我之前也试过,但是一直报错,但是!我又来啦!!!相关步骤自己设置一个数量不多的csv文件:然后按照之前的步骤:上传,导入数据库:然后在mysql里面同时创建一个与hive数据库中结构一致......
  • hive的一些操作(防忘)
    createdatabasetest_1;创建数据库 dropdatabasetest_1; 删除数据库 showdatabases;查看数据库 ......
  • 关于Hadoop和hive启动关闭的一些命令
    Hadoop启动/关闭:start-all.sh/stop-all.sh HDFS:start-dfs.sh/stop-dfs.sh YARN:start-yarn.sh/stop-yarn.shhive启动metastore服务:前台启动/export/server/apache-3.1.2-bin/bin/hive--servicemetastore 后台启动nohup/export/server/apache-hive-3.1.2-bin/bin/hi......
  • Hive的使用以及如何利用echarts实现可视化在前端页面展示(四)---连接idea使用echarts
    说来惭愧,我的javaweb烂得一批,其他步骤我还是很顺利地,这个最简单的,我遇到了一系列问题。只能说,有时候失败也是一种成功吧这一步其实就是正常的jdbc,没什么可说明的,但是关于使用echarts我还是遇到了一些困难,如果有高手能指正一二,感激不尽echarts获取前端数据要使用Ajax,我不会这个语......