【SQL】spark sql 不等值 join
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,products一个商品价格变化的表,orders商品订单,记录每次购买商品和日期基于Spark SQL中的不等值join实现orders和products的匹配,统计每个订单中商品对应当时的价格缓慢
千家信息网最后更新 2025年02月02日【SQL】spark sql 不等值 join
products一个商品价格变化的表,orders商品订单,记录每次购买商品和日期
基于Spark SQL中的不等值join实现orders和products的匹配,统计每个订单中商品对应当时的价格
缓慢变化的商品价格表
旺仔牛奶,发生过一次价格变更
scala> val products = sc.parallelize(Array( | ("旺仔牛奶", "2017-01-01", "2018-01-01", 4), | ("旺仔牛奶", "2018-01-02", "2020-01-01", 5), | ("王老吉", "2017-01-02", "2019-01-01", 5), | ("卫龙辣条", "2010-01-01", "2020-01-01", 2) | )).toDF("name", "startDate", "endDate", "price")products: org.apache.spark.sql.DataFrame = [name: string, startDate: string ... 2 more fields]scala> products.show();+----+----------+----------+-----+|name| startDate| endDate|price|+----+----------+----------+-----+|旺仔牛奶|2017-01-01|2018-01-01| 4||旺仔牛奶|2018-01-02|2020-01-01| 5|| 王老吉|2017-01-02|2019-01-01| 5||卫龙辣条|2010-01-01|2020-01-01| 2|+----+----------+----------+-----+
订单表(商品名称,订单日期)
旺仔牛奶在不同价格时段分别发生了一次订单
scala> val orders = sc.parallelize(Array( | ("2017-06-01", "旺仔牛奶"), | ("2017-07-01", "王老吉"), | ("2018-03-01", "旺仔牛奶") | )).toDF("date", "product")orders: org.apache.spark.sql.DataFrame = [date: string, product: string]scala> orders.show+----------+-------+| date|product|+----------+-------+|2017-06-01|旺仔牛奶||2017-07-01| 王老吉||2018-03-01|旺仔牛奶|+----------+-------+
通过不等值连接,计算每个订单当时的商品价格
查看出旺仔牛奶,两个订单在不同时间段上对应的价格
scala> orders.join(products, $"product" === $"name" && $"date" >= $"startDate" && $"date" <= $"endDate").show()+-----------+------------+----------+------------+-------------+-----+| date | product | name | startDate | endDate | price|+-----------+------------+----------+------------+-------------+-----+|2017-07-01| 王老吉 | 王老吉 |2017-01-02|2019-01-01 | 5 ||2017-06-01| 旺仔牛奶 |旺仔牛奶|2017-01-01|2018-01-01 | 4 ||2018-03-01| 旺仔牛奶 |旺仔牛奶|2018-01-02|2020-01-01 | 5 |+-----------+------------+----------+------------+-------------+-----+
牛奶
价格
商品
订单
王老
不同
商品价格
日期
变化
缓慢
两个
价格表
名称
时段
时间
时间段
统计
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
安徽爱房网络技术
国外服务器加速器
兰州青少年网络安全知识竞赛
显示数据库中图片
拼多多连接服务器不成功
mysql创建数据库架构
陕西软件开发人材引进
类似数据库的笔记软件
软件开发可以走劳务么
网络安全的内容四年级
齐齐哈尔建华区网络安全宣传
数据库超游标数
违法网络安全的
服务器管理共享服务器
嘉定区方便软件开发问答知识
大学生网络安全讨论
上海打包服务器
我的世界1.5.2服务器
安卓程序怎么跟数据库连接
西藏果蔬软件开发
西城ibm服务器回收估价
app连数据库
齐齐哈尔建华区网络安全宣传
廊坊科技产业互联网发展
速达软件使用什么软件开发
电信云服务器快照
组装机可以不要服务器cpu
软件开发职业规划ppt
苏州大数据软件开发报价
0基础学数据库开发工具