Spark SQL--商品订单案例

该博客探讨了如何使用Spark SQL进行商品订单的统计分析,包括每年销售单数和总额的计算、年度最大金额订单及最畅销货品的识别。通过在Scala中连接Hive并导入数据,借助Spark SQL完成对Hive表的操作,实现统计查询功能。
摘要由CSDN通过智能技术生成

需求

  • 统计所有订单中每年的销售单数、销售总额
  • 统计每年最大金额订单的销售额
  • 统计每年最畅销货品(哪个货品销售额amount在当年最高,哪个就是最畅销货品)

image_1cml6v59u8p31c501bj97h31d859.png-64.1kB

我们首先需要在scala里连接hive,然后创建这三个表,导入数据。创建以及导入数据与操作Hive一致。在Spark SQL中,可以完全接管Hive,一切操作都可以在spark中实现。主要是将Hive的一个配置文件hive-site.xml导入到Spark的config配置中。

主要实现sql语句如下:

print("---------1、所有订单中每年的销售单数、销售总额------------")
  spark.sql("select c.theyear,count(distinct a.ordernumber),sum(b.amount) " +
    "from tbStock a join tbStockDetail b on a.ordernumber=b.ordernumber " +
    "join tbDate c on a.dateid=c.dateid group by c.theyear order by c.theyear")



  print("---------2.1、先求出每份订单的销售额以其发生时间----------")
  spark.s
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值