【SQL】spark sql 不等值 join
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,products一个商品价格变化的表,orders商品订单,记录每次购买商品和日期基于Spark SQL中的不等值join实现orders和products的匹配,统计每个订单中商品对应当时的价格缓慢
千家信息网最后更新 2025年12月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安全错误
数据库的锁怎样保障安全
松下电器软件开发大连 工资
电力数据库知识
停车收费岗亭电脑无法连接数据库
与网络安全有关的知识信息
编程输入1到100数据库
富民网络技术有限公司
评价软件开发总结
mysql数据库表的后缀
贵州省网络安全线上知识竞答题目
无人驾驶软件开发公司
数据库双机心跳线
社区开展全国网络安全周活动
sas 导入 数据库
电脑服务器对磁铁有什么影响
海智网聚网络技术公司怎么样
CEIC全球经济数据库怎样进入
开办软件开发培训机构
服务器被断电日志里能看到吗
便装网网络技术有限公司
update 数据库之间
搭建小型网络首选的网络技术是
少先队网络安全活动计划
数据库涉及原理
数据库设置别名都有哪些方法
嵌入式软件开发口碑佳
数据库优化怎么样
外网服务器位置
专注于网络技术资源分享
云服务器 虚拟主机
基于平台的软件开发