亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

【SQL】spark sql 不等值 join

發布時間:2020-07-06 14:49:09 來源:網絡 閱讀:4201 作者:巧克力黒 欄目:大數據

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  |
+-----------+------------+----------+------------+-------------+-----+
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

金川县| 德昌县| 青岛市| 酉阳| 疏勒县| 阜阳市| 康平县| 福建省| 新乡市| 长兴县| 梧州市| 汉寿县| 光泽县| 永嘉县| 星子县| 芜湖市| 鹤岗市| 满城县| 喀什市| 宣汉县| 冕宁县| 胶州市| 塔城市| 孝义市| 青铜峡市| 西乡县| 金华市| 兴仁县| 外汇| 阿城市| 固始县| 巩义市| 巴塘县| 桂东县| 中方县| 慈溪市| 彭州市| 江陵县| 花莲县| 佛坪县| 冕宁县|